diff options
| author | Claude Paroz <claude@2xlibre.net> | 2013-03-14 16:19:59 +0100 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2013-03-14 17:03:43 +0100 |
| commit | 2f121dfe635b3f497fe1fe03bc8eb97cdf5083b3 (patch) | |
| tree | d858b3ac2a6ee0beb52a079e98ac065dc0253834 /tests/forms_tests | |
| parent | 34d098665d9423c0b70add5b8c8231fff9d0f774 (diff) | |
Fixed #17051 -- Removed some 'invalid' field error messages
When the 'invalid' error message is set at field level, it masks
the error message raised by the validator, if any.
Diffstat (limited to 'tests/forms_tests')
| -rw-r--r-- | tests/forms_tests/tests/extra.py | 30 | ||||
| -rw-r--r-- | tests/forms_tests/tests/validators.py | 33 |
2 files changed, 43 insertions, 20 deletions
diff --git a/tests/forms_tests/tests/extra.py b/tests/forms_tests/tests/extra.py index 359ad442bc..427d099bb2 100644 --- a/tests/forms_tests/tests/extra.py +++ b/tests/forms_tests/tests/extra.py @@ -506,11 +506,11 @@ class FormsExtraTestCase(TestCase, AssertFormErrorsMixin): self.assertFormErrors(['Enter a valid IPv4 or IPv6 address.'], f.clean, '256.125.1.5') self.assertEqual(f.clean(' fe80::223:6cff:fe8a:2e8a '), 'fe80::223:6cff:fe8a:2e8a') self.assertEqual(f.clean(' 2a02::223:6cff:fe8a:2e8a '), '2a02::223:6cff:fe8a:2e8a') - self.assertFormErrors(['Enter a valid IPv4 or IPv6 address.'], f.clean, '12345:2:3:4') - self.assertFormErrors(['Enter a valid IPv4 or IPv6 address.'], f.clean, '1::2:3::4') - self.assertFormErrors(['Enter a valid IPv4 or IPv6 address.'], f.clean, 'foo::223:6cff:fe8a:2e8a') - self.assertFormErrors(['Enter a valid IPv4 or IPv6 address.'], f.clean, '1::2:3:4:5:6:7:8') - self.assertFormErrors(['Enter a valid IPv4 or IPv6 address.'], f.clean, '1:2') + self.assertFormErrors(['This is not a valid IPv6 address.'], f.clean, '12345:2:3:4') + self.assertFormErrors(['This is not a valid IPv6 address.'], f.clean, '1::2:3::4') + self.assertFormErrors(['This is not a valid IPv6 address.'], f.clean, 'foo::223:6cff:fe8a:2e8a') + self.assertFormErrors(['This is not a valid IPv6 address.'], f.clean, '1::2:3:4:5:6:7:8') + self.assertFormErrors(['This is not a valid IPv6 address.'], f.clean, '1:2') def test_generic_ipaddress_as_ipv4_only(self): f = GenericIPAddressField(protocol="IPv4") @@ -535,11 +535,11 @@ class FormsExtraTestCase(TestCase, AssertFormErrorsMixin): self.assertFormErrors(['Enter a valid IPv6 address.'], f.clean, '256.125.1.5') self.assertEqual(f.clean(' fe80::223:6cff:fe8a:2e8a '), 'fe80::223:6cff:fe8a:2e8a') self.assertEqual(f.clean(' 2a02::223:6cff:fe8a:2e8a '), '2a02::223:6cff:fe8a:2e8a') - self.assertFormErrors(['Enter a valid IPv6 address.'], f.clean, '12345:2:3:4') - self.assertFormErrors(['Enter a valid IPv6 address.'], f.clean, '1::2:3::4') - self.assertFormErrors(['Enter a valid IPv6 address.'], f.clean, 'foo::223:6cff:fe8a:2e8a') - self.assertFormErrors(['Enter a valid IPv6 address.'], f.clean, '1::2:3:4:5:6:7:8') - self.assertFormErrors(['Enter a valid IPv6 address.'], f.clean, '1:2') + self.assertFormErrors(['This is not a valid IPv6 address.'], f.clean, '12345:2:3:4') + self.assertFormErrors(['This is not a valid IPv6 address.'], f.clean, '1::2:3::4') + self.assertFormErrors(['This is not a valid IPv6 address.'], f.clean, 'foo::223:6cff:fe8a:2e8a') + self.assertFormErrors(['This is not a valid IPv6 address.'], f.clean, '1::2:3:4:5:6:7:8') + self.assertFormErrors(['This is not a valid IPv6 address.'], f.clean, '1:2') def test_generic_ipaddress_as_generic_not_required(self): f = GenericIPAddressField(required=False) @@ -552,11 +552,11 @@ class FormsExtraTestCase(TestCase, AssertFormErrorsMixin): self.assertFormErrors(['Enter a valid IPv4 or IPv6 address.'], f.clean, '256.125.1.5') self.assertEqual(f.clean(' fe80::223:6cff:fe8a:2e8a '), 'fe80::223:6cff:fe8a:2e8a') self.assertEqual(f.clean(' 2a02::223:6cff:fe8a:2e8a '), '2a02::223:6cff:fe8a:2e8a') - self.assertFormErrors(['Enter a valid IPv4 or IPv6 address.'], f.clean, '12345:2:3:4') - self.assertFormErrors(['Enter a valid IPv4 or IPv6 address.'], f.clean, '1::2:3::4') - self.assertFormErrors(['Enter a valid IPv4 or IPv6 address.'], f.clean, 'foo::223:6cff:fe8a:2e8a') - self.assertFormErrors(['Enter a valid IPv4 or IPv6 address.'], f.clean, '1::2:3:4:5:6:7:8') - self.assertFormErrors(['Enter a valid IPv4 or IPv6 address.'], f.clean, '1:2') + self.assertFormErrors(['This is not a valid IPv6 address.'], f.clean, '12345:2:3:4') + self.assertFormErrors(['This is not a valid IPv6 address.'], f.clean, '1::2:3::4') + self.assertFormErrors(['This is not a valid IPv6 address.'], f.clean, 'foo::223:6cff:fe8a:2e8a') + self.assertFormErrors(['This is not a valid IPv6 address.'], f.clean, '1::2:3:4:5:6:7:8') + self.assertFormErrors(['This is not a valid IPv6 address.'], f.clean, '1:2') def test_generic_ipaddress_normalization(self): # Test the normalising code diff --git a/tests/forms_tests/tests/validators.py b/tests/forms_tests/tests/validators.py index a4cb324815..0598835cff 100644 --- a/tests/forms_tests/tests/validators.py +++ b/tests/forms_tests/tests/validators.py @@ -1,16 +1,39 @@ +from __future__ import unicode_literals + from django import forms from django.core import validators from django.core.exceptions import ValidationError from django.utils.unittest import TestCase +class UserForm(forms.Form): + full_name = forms.CharField( + max_length = 50, + validators = [ + validators.validate_integer, + validators.validate_email, + ] + ) + string = forms.CharField( + max_length = 50, + validators = [ + validators.RegexValidator( + regex='^[a-zA-Z]*$', + message="Letters only.", + ) + ] + ) + + class TestFieldWithValidators(TestCase): def test_all_errors_get_reported(self): - field = forms.CharField( - validators=[validators.validate_integer, validators.validate_email] - ) - self.assertRaises(ValidationError, field.clean, 'not int nor mail') + form = UserForm({'full_name': 'not int nor mail', 'string': '2 is not correct'}) + self.assertRaises(ValidationError, form.fields['full_name'].clean, 'not int nor mail') + try: - field.clean('not int nor mail') + form.fields['full_name'].clean('not int nor mail') except ValidationError as e: self.assertEqual(2, len(e.messages)) + + self.assertFalse(form.is_valid()) + self.assertEqual(form.errors['string'], ["Letters only."]) |
