Author: lukeplant Date: 2011-05-31 07:02:22 -0700 (Tue, 31 May 2011) New Revision: 16303
Modified: django/trunk/tests/regressiontests/forms/localflavor/__init__.py django/trunk/tests/regressiontests/forms/localflavor/au.py django/trunk/tests/regressiontests/forms/localflavor/hr.py django/trunk/tests/regressiontests/forms/localflavor/pt.py django/trunk/tests/regressiontests/forms/localflavor/ro.py django/trunk/tests/regressiontests/forms/localflavor/utils.py django/trunk/tests/regressiontests/forms/localflavortests.py django/trunk/tests/regressiontests/forms/tests/__init__.py Log: Fixed #15805 - assertFieldOutput should not use assertRaisesRegexp Thanks to julien for the report and patch. Modified: django/trunk/tests/regressiontests/forms/localflavor/__init__.py =================================================================== --- django/trunk/tests/regressiontests/forms/localflavor/__init__.py 2011-05-31 09:44:21 UTC (rev 16302) +++ django/trunk/tests/regressiontests/forms/localflavor/__init__.py 2011-05-31 14:02:22 UTC (rev 16303) @@ -0,0 +1,11 @@ +from django.forms import EmailField +from utils import LocalFlavorTestCase + +class AssertFieldOutputTests(LocalFlavorTestCase): + + def test_assert_field_output(self): + error_invalid = [u'Enter a valid e-mail address.'] + self.assertFieldOutput(EmailField, {'a...@a.com': 'a...@a.com'}, {'aaa': error_invalid}) + self.assertRaises(AssertionError, self.assertFieldOutput, EmailField, {'a...@a.com': 'a...@a.com'}, {'aaa': error_invalid + [u'Another error']}) + self.assertRaises(AssertionError, self.assertFieldOutput, EmailField, {'a...@a.com': 'Wrong output'}, {'aaa': error_invalid}) + self.assertRaises(AssertionError, self.assertFieldOutput, EmailField, {'a...@a.com': 'a...@a.com'}, {'aaa': [u'Come on, gimme some well formatted data, dude.']}) Modified: django/trunk/tests/regressiontests/forms/localflavor/au.py =================================================================== --- django/trunk/tests/regressiontests/forms/localflavor/au.py 2011-05-31 09:44:21 UTC (rev 16302) +++ django/trunk/tests/regressiontests/forms/localflavor/au.py 2011-05-31 14:02:22 UTC (rev 16303) @@ -20,14 +20,14 @@ self.assertEqual(f.render('state', 'NSW'), out) def test_AUPostCodeField(self): - error_format = [u'Enter a 4 digit post code.'] + error_format = [u'Enter a 4 digit postcode.'] valid = { '1234': '1234', '2000': '2000', } invalid = { 'abcd': error_format, - '20001': error_format, + '20001': [u'Ensure this value has at most 4 characters (it has 5).'] + error_format, } self.assertFieldOutput(AUPostCodeField, valid, invalid) Modified: django/trunk/tests/regressiontests/forms/localflavor/hr.py =================================================================== --- django/trunk/tests/regressiontests/forms/localflavor/hr.py 2011-05-31 09:44:21 UTC (rev 16302) +++ django/trunk/tests/regressiontests/forms/localflavor/hr.py 2011-05-31 14:02:22 UTC (rev 16303) @@ -158,7 +158,7 @@ '12345678901': '12345678901', } invalid = { - '1234567890': error_invalid, + '1234567890': [u'Ensure this value has at least 11 characters (it has 10).'] + error_invalid, 'ABCDEFGHIJK': error_invalid, } self.assertFieldOutput(HROIBField, valid, invalid) Modified: django/trunk/tests/regressiontests/forms/localflavor/pt.py =================================================================== --- django/trunk/tests/regressiontests/forms/localflavor/pt.py 2011-05-31 09:44:21 UTC (rev 16302) +++ django/trunk/tests/regressiontests/forms/localflavor/pt.py 2011-05-31 14:02:22 UTC (rev 16303) @@ -17,7 +17,7 @@ self.assertFieldOutput(PTZipCodeField, valid, invalid) def test_PTPhoneNumberField(self): - error_format = [u'Phone numbers must have 9 digits, or start by + or 00'] + error_format = [u'Phone numbers must have 9 digits, or start by + or 00.'] valid = { '917845189': '917845189', '91 784 5189': '917845189', Modified: django/trunk/tests/regressiontests/forms/localflavor/ro.py =================================================================== --- django/trunk/tests/regressiontests/forms/localflavor/ro.py 2011-05-31 09:44:21 UTC (rev 16302) +++ django/trunk/tests/regressiontests/forms/localflavor/ro.py 2011-05-31 14:02:22 UTC (rev 16303) @@ -66,7 +66,7 @@ invalid = { '21694680': error_invalid, '21694680000': error_atmost, - '0': error_atleast, + '0': error_atleast + error_invalid, } self.assertFieldOutput(ROCIFField, valid, invalid) @@ -81,7 +81,7 @@ '1981211204487': error_invalid, '1981232204489': error_invalid, '9981211204489': error_invalid, - '9981211209': error_atleast, + '9981211209': error_atleast + error_invalid, '19812112044891': error_atmost, } self.assertFieldOutput(ROCNPField, valid, invalid) @@ -109,32 +109,34 @@ invalid = { 'RO56RZBR0000060003291176': error_invalid, 'AT61 1904 3002 3457 3201': error_invalid, - 'RO56RZBR000006000329117': error_atleast, + 'RO56RZBR000006000329117': error_atleast + error_invalid, } self.assertFieldOutput(ROIBANField, valid, invalid) def test_ROPhoneNumberField(self): error_format = [u'Phone numbers must be in XXXX-XXXXXX format.'] error_atleast = [u'Ensure this value has at least 10 characters (it has 9).'] + error_invalid = [u'Phone numbers must be in XXXX-XXXXXX format.'] valid = { '0264485936': '0264485936', '(0264)-485936': '0264485936', } invalid = { '02644859368': error_format, - '026448593': error_atleast, + '026448593': error_atleast + error_invalid, } self.assertFieldOutput(ROPhoneNumberField, valid, invalid) def test_ROPostalCodeField(self): error_atleast = [u'Ensure this value has at least 6 characters (it has 5).'] error_atmost = [u'Ensure this value has at most 6 characters (it has 7).'] + error_invalid = [u'Enter a valid postal code in the format XXXXXX'] valid = { '400473': '400473', } invalid = { - '40047': error_atleast, - '4004731': error_atmost, + '40047': error_atleast + error_invalid, + '4004731': error_atmost + error_invalid, } self.assertFieldOutput(ROPostalCodeField, valid, invalid) Modified: django/trunk/tests/regressiontests/forms/localflavor/utils.py =================================================================== --- django/trunk/tests/regressiontests/forms/localflavor/utils.py 2011-05-31 09:44:21 UTC (rev 16302) +++ django/trunk/tests/regressiontests/forms/localflavor/utils.py 2011-05-31 14:02:22 UTC (rev 16303) @@ -1,3 +1,5 @@ +from __future__ import with_statement + from django.core.exceptions import ValidationError from django.core.validators import EMPTY_VALUES from django.forms.fields import CharField @@ -42,17 +44,19 @@ self.assertEqual(optional.clean(input), output) # test invalid inputs for input, errors in invalid.items(): - self.assertRaisesRegexp(ValidationError, unicode(errors), - required.clean, input - ) - self.assertRaisesRegexp(ValidationError, unicode(errors), - optional.clean, input - ) + with self.assertRaises(ValidationError) as context_manager: + required.clean(input) + self.assertEqual(context_manager.exception.messages, errors) + + with self.assertRaises(ValidationError) as context_manager: + optional.clean(input) + self.assertEqual(context_manager.exception.messages, errors) # test required inputs - error_required = u'This field is required' + error_required = [u'This field is required.'] for e in EMPTY_VALUES: - self.assertRaisesRegexp(ValidationError, error_required, - required.clean, e) + with self.assertRaises(ValidationError) as context_manager: + required.clean(e) + self.assertEqual(context_manager.exception.messages, error_required) self.assertEqual(optional.clean(e), empty_value) # test that max_length and min_length are always accepted if issubclass(fieldclass, CharField): Modified: django/trunk/tests/regressiontests/forms/localflavortests.py =================================================================== --- django/trunk/tests/regressiontests/forms/localflavortests.py 2011-05-31 09:44:21 UTC (rev 16302) +++ django/trunk/tests/regressiontests/forms/localflavortests.py 2011-05-31 14:02:22 UTC (rev 16303) @@ -1,3 +1,4 @@ +from localflavor import AssertFieldOutputTests from localflavor.ar import ARLocalFlavorTests from localflavor.at import ATLocalFlavorTests from localflavor.au import AULocalFlavorTests Modified: django/trunk/tests/regressiontests/forms/tests/__init__.py =================================================================== --- django/trunk/tests/regressiontests/forms/tests/__init__.py 2011-05-31 09:44:21 UTC (rev 16302) +++ django/trunk/tests/regressiontests/forms/tests/__init__.py 2011-05-31 14:02:22 UTC (rev 16303) @@ -46,5 +46,6 @@ TRLocalFlavorTests, USLocalFlavorTests, UYLocalFlavorTests, - ZALocalFlavorTests + ZALocalFlavorTests, + AssertFieldOutputTests, ) -- You received this message because you are subscribed to the Google Groups "Django updates" group. To post to this group, send email to django-updates@googlegroups.com. To unsubscribe from this group, send email to django-updates+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-updates?hl=en.