diff options
| author | David Sanders <dsanders11@ucsbalum.com> | 2016-04-24 12:06:30 -0700 |
|---|---|---|
| committer | Simon Charette <charettes@users.noreply.github.com> | 2016-04-24 15:06:30 -0400 |
| commit | 218175b09d244b9c7c84c2f2d5f478297251bbe9 (patch) | |
| tree | 688f90b3127892ec63fa8f11b5bbcb753f267814 /tests/forms_tests | |
| parent | 188883048e2bbd25016ad2bd9b5b60abdefebe73 (diff) | |
Fixed #26534 -- Fixed boolean form fields has_changed() with hidden input.
Diffstat (limited to 'tests/forms_tests')
| -rw-r--r-- | tests/forms_tests/field_tests/test_booleanfield.py | 5 | ||||
| -rw-r--r-- | tests/forms_tests/field_tests/test_nullbooleanfield.py | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/tests/forms_tests/field_tests/test_booleanfield.py b/tests/forms_tests/field_tests/test_booleanfield.py index 9c69c96762..0fa5357ae3 100644 --- a/tests/forms_tests/field_tests/test_booleanfield.py +++ b/tests/forms_tests/field_tests/test_booleanfield.py @@ -54,3 +54,8 @@ class BooleanFieldTest(SimpleTestCase): self.assertTrue(f.has_changed(True, '')) # Initial value may have mutated to a string due to show_hidden_initial (#19537) self.assertTrue(f.has_changed('False', 'on')) + # HiddenInput widget sends string values for boolean but doesn't clean them in value_from_datadict + self.assertFalse(f.has_changed(False, 'False')) + self.assertFalse(f.has_changed(True, 'True')) + self.assertTrue(f.has_changed(False, 'True')) + self.assertTrue(f.has_changed(True, 'False')) diff --git a/tests/forms_tests/field_tests/test_nullbooleanfield.py b/tests/forms_tests/field_tests/test_nullbooleanfield.py index 74a2d7c173..ff4a16060e 100644 --- a/tests/forms_tests/field_tests/test_nullbooleanfield.py +++ b/tests/forms_tests/field_tests/test_nullbooleanfield.py @@ -67,3 +67,10 @@ class NullBooleanFieldTest(FormFieldAssertionsMixin, SimpleTestCase): self.assertTrue(f.has_changed(True, False)) self.assertTrue(f.has_changed(True, None)) self.assertTrue(f.has_changed(True, False)) + # HiddenInput widget sends string values for boolean but doesn't clean them in value_from_datadict + self.assertFalse(f.has_changed(False, 'False')) + self.assertFalse(f.has_changed(True, 'True')) + self.assertFalse(f.has_changed(None, '')) + self.assertTrue(f.has_changed(False, 'True')) + self.assertTrue(f.has_changed(True, 'False')) + self.assertTrue(f.has_changed(None, 'False')) |
