Removed unused TestConverter.
[philipp/winterrodeln/wrpylib.git] / tests / test_wrvalidators.py
index 8cc33e636f46d92fd2c352cd460fbb5da34b1721..a61e8475eeb7a2ed491d89175c113752bcb35425 100644 (file)
@@ -7,17 +7,6 @@ import unittest
 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)
@@ -377,6 +366,38 @@ class TestTelefonauskunft(unittest.TestCase):
         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}}'