mirror of
https://github.com/django/django.git
synced 2025-10-23 21:59:11 +00:00
Fixed #21638: Validators are now comparable, stops infinite user mig'ns
This commit is contained in:
@@ -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),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user