diff options
| author | Grzegorz Slusarek <grzegorz.slusarek@gmail.com> | 2014-12-08 23:37:59 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2014-12-12 08:47:21 -0500 |
| commit | 0dea81cd6d34b3e41cc4bbec99b5fdf06142b09e (patch) | |
| tree | 23ac08dc2f4414f89b27de21f84225f5fca6e422 /tests | |
| parent | 43041ee48c802418ec935a2ece59f876f5888c40 (diff) | |
Fixed #23674 -- Fixed a crash when a MultiValueField has invalid data.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/forms_tests/tests/test_forms.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/forms_tests/tests/test_forms.py b/tests/forms_tests/tests/test_forms.py index 1980e01d73..290e5ba65f 100644 --- a/tests/forms_tests/tests/test_forms.py +++ b/tests/forms_tests/tests/test_forms.py @@ -2006,6 +2006,22 @@ class FormsTestCase(TestCase): self.assertIsNot(field2.fields, field.fields) self.assertIsNot(field2.fields[0].choices, field.fields[0].choices) + def test_multivalue_initial_data(self): + """ + #23674 -- invalid initial data should not break form.changed_data() + """ + class DateAgeField(MultiValueField): + def __init__(self, fields=(), *args, **kwargs): + fields = (DateField(label="Date"), IntegerField(label="Age")) + super(DateAgeField, self).__init__(fields=fields, *args, **kwargs) + + class DateAgeForm(Form): + date_age = DateAgeField() + + data = {"date_age": ["1998-12-06", 16]} + form = DateAgeForm(data, initial={"date_age": ["200-10-10", 14]}) + self.assertTrue(form.has_changed()) + def test_multivalue_optional_subfields(self): class PhoneField(MultiValueField): def __init__(self, *args, **kwargs): |
