From 5debbdfcc84266703191e084914998e38f5f52eb Mon Sep 17 00:00:00 2001 From: Srinivas Reddy Thatiparthy Date: Thu, 13 Jul 2017 20:25:32 +0530 Subject: Fixed #28387 -- Fixed has_changed() for disabled form fields that subclass it. --- tests/forms_tests/field_tests/test_booleanfield.py | 4 ++++ tests/forms_tests/field_tests/test_filefield.py | 4 ++++ tests/forms_tests/field_tests/test_multiplechoicefield.py | 4 ++++ tests/forms_tests/field_tests/test_multivaluefield.py | 4 ++++ 4 files changed, 16 insertions(+) (limited to 'tests/forms_tests') diff --git a/tests/forms_tests/field_tests/test_booleanfield.py b/tests/forms_tests/field_tests/test_booleanfield.py index d2ed9d7955..7ea117a071 100644 --- a/tests/forms_tests/field_tests/test_booleanfield.py +++ b/tests/forms_tests/field_tests/test_booleanfield.py @@ -57,3 +57,7 @@ class BooleanFieldTest(SimpleTestCase): self.assertFalse(f.has_changed(True, 'True')) self.assertTrue(f.has_changed(False, 'True')) self.assertTrue(f.has_changed(True, 'False')) + + def test_disabled_has_changed(self): + f = BooleanField(disabled=True) + self.assertIs(f.has_changed('True', 'False'), False) diff --git a/tests/forms_tests/field_tests/test_filefield.py b/tests/forms_tests/field_tests/test_filefield.py index 5961e16f67..fc5c4b5c1e 100644 --- a/tests/forms_tests/field_tests/test_filefield.py +++ b/tests/forms_tests/field_tests/test_filefield.py @@ -74,5 +74,9 @@ class FileFieldTest(SimpleTestCase): # with here) self.assertTrue(f.has_changed('resume.txt', {'filename': 'resume.txt', 'content': 'My resume'})) + def test_disabled_has_changed(self): + f = FileField(disabled=True) + self.assertIs(f.has_changed('x', 'y'), False) + def test_file_picklable(self): self.assertIsInstance(pickle.loads(pickle.dumps(FileField())), FileField) diff --git a/tests/forms_tests/field_tests/test_multiplechoicefield.py b/tests/forms_tests/field_tests/test_multiplechoicefield.py index dee916bd8e..9ffe461687 100644 --- a/tests/forms_tests/field_tests/test_multiplechoicefield.py +++ b/tests/forms_tests/field_tests/test_multiplechoicefield.py @@ -68,3 +68,7 @@ class MultipleChoiceFieldTest(SimpleTestCase): self.assertFalse(f.has_changed([2, 1], ['1', '2'])) self.assertTrue(f.has_changed([1, 2], ['1'])) self.assertTrue(f.has_changed([1, 2], ['1', '3'])) + + def test_disabled_has_changed(self): + f = MultipleChoiceField(choices=[('1', 'One'), ('2', 'Two')], disabled=True) + self.assertIs(f.has_changed('x', 'y'), False) diff --git a/tests/forms_tests/field_tests/test_multivaluefield.py b/tests/forms_tests/field_tests/test_multivaluefield.py index 82d51ac657..e77bb0df26 100644 --- a/tests/forms_tests/field_tests/test_multivaluefield.py +++ b/tests/forms_tests/field_tests/test_multivaluefield.py @@ -103,6 +103,10 @@ class MultiValueFieldTest(SimpleTestCase): ['some text', ['J', 'P'], ['2009-04-25', '11:44:00']], )) + def test_disabled_has_changed(self): + f = MultiValueField(fields=(CharField(), CharField()), disabled=True) + self.assertIs(f.has_changed(['x', 'x'], ['y', 'y']), False) + def test_form_as_table(self): form = ComplexFieldForm() self.assertHTMLEqual( -- cgit v1.3