diff options
| author | Claude Paroz <claude@2xlibre.net> | 2013-03-14 14:45:41 +0100 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2013-03-14 14:49:07 +0100 |
| commit | 9883551d50e105b324d8071232bf420935844e43 (patch) | |
| tree | 49584d014d07e7dd573c14a0a71f0b9cca798e86 /tests/forms_tests | |
| parent | 6b4834952dcce0db5cbc1534635c00ff8573a6d8 (diff) | |
Fixed #20039 -- Fixed has_changed form detection for required TypedChoiceFields
Thanks Florian Apolloner for the report and the review.
Also fixes #19643.
Diffstat (limited to 'tests/forms_tests')
| -rw-r--r-- | tests/forms_tests/tests/fields.py | 10 | ||||
| -rw-r--r-- | tests/forms_tests/tests/regressions.py | 2 |
2 files changed, 11 insertions, 1 deletions
diff --git a/tests/forms_tests/tests/fields.py b/tests/forms_tests/tests/fields.py index 3d3206ef85..95e14c4434 100644 --- a/tests/forms_tests/tests/fields.py +++ b/tests/forms_tests/tests/fields.py @@ -911,6 +911,11 @@ class FieldsTests(SimpleTestCase): f = TypedChoiceField(choices=[(1, "+1"), (-1, "-1")], coerce=int, required=False, empty_value=None) self.assertEqual(None, f.clean('')) + def test_typedchoicefield_has_changed(self): + # has_changed should not trigger required validation + f = TypedChoiceField(choices=[(1, "+1"), (-1, "-1")], coerce=int, required=True) + self.assertFalse(f._has_changed(None, '')) + # NullBooleanField ############################################################ def test_nullbooleanfield_1(self): @@ -1060,6 +1065,11 @@ class FieldsTests(SimpleTestCase): f = TypedMultipleChoiceField(choices=[(1, "+1"), (-1, "-1")], coerce=int, required=False, empty_value=None) self.assertEqual(None, f.clean([])) + def test_typedmultiplechoicefield_has_changed(self): + # has_changed should not trigger required validation + f = TypedMultipleChoiceField(choices=[(1, "+1"), (-1, "-1")], coerce=int, required=True) + self.assertFalse(f._has_changed(None, '')) + # ComboField ################################################################## def test_combofield_1(self): diff --git a/tests/forms_tests/tests/regressions.py b/tests/forms_tests/tests/regressions.py index 4249b8afb7..ba741bc16b 100644 --- a/tests/forms_tests/tests/regressions.py +++ b/tests/forms_tests/tests/regressions.py @@ -61,10 +61,10 @@ class FormsRegressionsTestCase(TestCase): UNITS = ((b'\xd0\xbc\xd0\xb5\xd1\x81.', b'\xd0\xbc\xd0\xb5\xd1\x81.'), (b'\xd1\x88\xd1\x82.', b'\xd1\x88\xd1\x82.')) f = ChoiceField(choices=UNITS) - self.assertEqual(f.clean('\u0448\u0442.'), '\u0448\u0442.') with warnings.catch_warnings(): # Ignore UnicodeWarning warnings.simplefilter("ignore") + self.assertEqual(f.clean('\u0448\u0442.'), '\u0448\u0442.') self.assertEqual(f.clean(b'\xd1\x88\xd1\x82.'), '\u0448\u0442.') # Translated error messages used to be buggy. |
