diff options
| author | Andrew Godwin <andrew@aeracode.org> | 2014-01-19 18:56:16 +0000 |
|---|---|---|
| committer | Andrew Godwin <andrew@aeracode.org> | 2014-01-19 18:56:16 +0000 |
| commit | a68f32579145dfbd51d87e14f9b5e04c770f9081 (patch) | |
| tree | 882cf060d210d40fc45846a2a201f39f1a5e6c3c /tests/validators | |
| parent | 3f1a008266e8797ae104905b4d3168fa2a33b9ae (diff) | |
Fixed #21638: Validators are now comparable, stops infinite user mig'ns
Diffstat (limited to 'tests/validators')
| -rw-r--r-- | tests/validators/tests.py | 56 |
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), + ) |
