from wrpylib.wrvalidators import *
-class TestConverter(unittest.TestCase):
- def test_from_str(self):
- self.assertEqual(Converter.from_str('abc'), 'abc')
- self.assertEqual(Converter.from_str(''), '')
-
- def test_to_str(self):
- self.assertEqual(Converter.to_str('abc'), 'abc')
- self.assertEqual(Converter.to_str(''), '')
- self.assertEqual(Converter.to_str(42), '42')
-
-
class TestInt(unittest.TestCase):
def test_from_str(self):
self.assertEqual(int_from_str('42'), 42)
self.assertEqual(telefonauskunft_to_str([('+43-512-1234', 'untertags'), ('+43-664-123456', 'Alm')]), '+43-512-1234 (untertags); +43-664-123456 (Alm)')
+class TestEmail(unittest.TestCase):
+ def setUp(self):
+ self.good_addresses = ['office@example.com', 'winter+rodeln@localhost', 'joe.doe@exämple.com']
+ self.bad_addresses = ['öffice@example.com', 'winter rodeln@localhost', 'www.winterrodeln.org', 'mailto:info@example.com', 'info@example.com.']
+
+ def test_from_str(self):
+ for value in self.good_addresses:
+ self.assertEqual(value, email_from_str(value))
+ for value in self.bad_addresses:
+ with self.assertRaises(ValueError):
+ email_from_str(value)
+
+ def test_to_str(self):
+ for value in self.good_addresses:
+ self.assertEqual(value, email_to_str(value))
+
+
+class TestMaskedEmail(unittest.TestCase):
+ def test_from_str(self):
+ self.assertEqual(('office@example.com', False), masked_email_from_str('office@example.com'))
+ self.assertEqual(('office@example.com', True), masked_email_from_str('office(at)example.com'))
+ with self.assertRaises(ValueError):
+ masked_email_from_str('office@example.com', masked_only=True)
+ with self.assertRaises(ValueError):
+ masked_email_from_str('off ice@example.com')
+
+ def test_to_str(self):
+ self.assertEqual('office@example.com', masked_email_to_str(('office@example.com', False)))
+ self.assertEqual('office(at)example.com', masked_email_to_str(('office@example.com', True)))
+ self.assertEqual('office()example.com', masked_email_to_str(('office@example.com', True), '()'))
+
+
class TestBox(unittest.TestCase):
def test_from_str(self):
value = '{{MyTemplate|apple=2|banana=5}}'