summaryrefslogtreecommitdiff
path: root/tests/forms_tests
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2013-03-14 14:45:41 +0100
committerClaude Paroz <claude@2xlibre.net>2013-03-14 14:49:07 +0100
commit9883551d50e105b324d8071232bf420935844e43 (patch)
tree49584d014d07e7dd573c14a0a71f0b9cca798e86 /tests/forms_tests
parent6b4834952dcce0db5cbc1534635c00ff8573a6d8 (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.py10
-rw-r--r--tests/forms_tests/tests/regressions.py2
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.