self.assertEqual('office()example.com', masked_email_to_str(('office@example.com', True), '()'))
+class TestEmails(unittest.TestCase):
+ def test_from_str(self):
+ self.assertEqual(None, emails_from_str(''))
+ self.assertEqual([], emails_from_str('Nein'))
+ self.assertEqual([(('info@example.com', False), None)], emails_from_str('info@example.com'))
+ self.assertEqual([(('info@example.com', True), None)], emails_from_str('info(at)example.com'))
+ self.assertEqual([(('info@example.com', False), 'Office')], emails_from_str('info@example.com (Office)'))
+ self.assertEqual([(('info@example.com', False), None), ('home@example.com', 'Privat')], emails_from_str('info@example.com; home@example.com (Privat)'))
+ with self.assertRaises(ValueError):
+ emails_from_str('nein')
+ with self.assertRaises(ValueError):
+ emails_from_str('info@example.com; ho me@example.com (Privat)')
+
+ def test_to_str(self):
+ self.assertEqual('', emails_to_str(None))
+ self.assertEqual('Nein', emails_to_str([]))
+ self.assertEqual('info@example.com', emails_to_str([(('info@example.com', False), None)]))
+ self.assertEqual('info@example.com (Office)', emails_to_str([(('info@example.com', False), 'Office')]))
+ self.assertEqual('info@example.com; home@example.com (Privat)', emails_to_str([(('info@example.com', False), None), (('home@example.com', False), 'Privat')]))
+
+
class TestBox(unittest.TestCase):
def test_from_str(self):
value = '{{MyTemplate|apple=2|banana=5}}'
return email
+def emails_from_str(value):
+ return opt_no_german_from_str(value, lambda val: enum_from_str(val, lambda v: value_comment_from_str(v, masked_email_from_str, opt_str_from_str, True)), False, [], None)
+
+
+def emails_to_str(value):
+ return opt_no_german_to_str(value, lambda val: enum_to_str(val, lambda v: value_comment_to_str(v, masked_email_to_str, opt_str_to_str, True)), False, [], None)
class MaskedEmail(formencode.FancyValidator):