diff options
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), + ) |
