summaryrefslogtreecommitdiff
path: root/tests/validators
diff options
context:
space:
mode:
authorAndrew Godwin <andrew@aeracode.org>2014-01-19 18:56:16 +0000
committerAndrew Godwin <andrew@aeracode.org>2014-01-19 18:56:16 +0000
commita68f32579145dfbd51d87e14f9b5e04c770f9081 (patch)
tree882cf060d210d40fc45846a2a201f39f1a5e6c3c /tests/validators
parent3f1a008266e8797ae104905b4d3168fa2a33b9ae (diff)
Fixed #21638: Validators are now comparable, stops infinite user mig'ns
Diffstat (limited to 'tests/validators')
-rw-r--r--tests/validators/tests.py56
1 files changed, 56 insertions, 0 deletions
diff --git a/tests/validators/tests.py b/tests/validators/tests.py
index 23fa1e3830..ec91486658 100644
--- a/tests/validators/tests.py
+++ b/tests/validators/tests.py
@@ -244,3 +244,59 @@ for validator, value, expected in TEST_DATA:
name, method = create_simple_test_method(validator, expected, value, test_counter)
setattr(TestSimpleValidators, name, method)
test_counter += 1
+
+
+class TestValidatorEquality(TestCase):
+ """
+ Tests that validators have valid equality operators (#21638)
+ """
+
+ def test_regex_equality(self):
+ self.assertEqual(
+ RegexValidator(r'^(?:[a-z0-9\.\-]*)://'),
+ RegexValidator(r'^(?:[a-z0-9\.\-]*)://'),
+ )
+ self.assertNotEqual(
+ RegexValidator(r'^(?:[a-z0-9\.\-]*)://'),
+ RegexValidator(r'^(?:[0-9\.\-]*)://'),
+ )
+ self.assertEqual(
+ RegexValidator(r'^(?:[a-z0-9\.\-]*)://', "oh noes", "invalid"),
+ RegexValidator(r'^(?:[a-z0-9\.\-]*)://', "oh noes", "invalid"),
+ )
+ self.assertNotEqual(
+ RegexValidator(r'^(?:[a-z0-9\.\-]*)://', "oh", "invalid"),
+ RegexValidator(r'^(?:[a-z0-9\.\-]*)://', "oh noes", "invalid"),
+ )
+ self.assertNotEqual(
+ RegexValidator(r'^(?:[a-z0-9\.\-]*)://', "oh noes", "invalid"),
+ RegexValidator(r'^(?:[a-z0-9\.\-]*)://'),
+ )
+
+ def test_email_equality(self):
+ self.assertEqual(
+ EmailValidator(),
+ EmailValidator(),
+ )
+ self.assertNotEqual(
+ EmailValidator(message="BAD EMAIL"),
+ EmailValidator(),
+ )
+ self.assertEqual(
+ EmailValidator(message="BAD EMAIL", code="bad"),
+ EmailValidator(message="BAD EMAIL", code="bad"),
+ )
+
+ def test_basic_equality(self):
+ self.assertEqual(
+ MaxValueValidator(44),
+ MaxValueValidator(44),
+ )
+ self.assertNotEqual(
+ MaxValueValidator(44),
+ MinValueValidator(44),
+ )
+ self.assertNotEqual(
+ MinValueValidator(45),
+ MinValueValidator(11),
+ )