diff options
author | Pavel Dedik <pavel.dedik@kiwi.com> | 2019-10-25 14:41:34 +0200 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2019-10-28 10:32:34 +0100 |
commit | 711a7d4d50c1ef194a4a71e68ce7fa38fcb5103f (patch) | |
tree | 294d0f0cbdc77d51cbcf9cd2e064a34789e97c06 /tests/postgres_tests/test_array.py | |
parent | bcfbb71c63092f4bc0fa5cc3f82ece2c986e3168 (diff) | |
download | django-711a7d4d50c1ef194a4a71e68ce7fa38fcb5103f.tar.gz |
Fixed #30907 -- Fixed SplitArrayField.has_changed() with removal of empty trailing values.
Diffstat (limited to 'tests/postgres_tests/test_array.py')
-rw-r--r-- | tests/postgres_tests/test_array.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/postgres_tests/test_array.py b/tests/postgres_tests/test_array.py index 7686ea10a8..708852f71c 100644 --- a/tests/postgres_tests/test_array.py +++ b/tests/postgres_tests/test_array.py @@ -975,6 +975,26 @@ class TestSplitFormField(PostgreSQLSimpleTestCase): form = Form(data, instance=obj) self.assertIs(form.has_changed(), expected_result) + def test_splitarrayfield_remove_trailing_nulls_has_changed(self): + class Form(forms.ModelForm): + field = SplitArrayField(forms.IntegerField(), required=False, size=2, remove_trailing_nulls=True) + + class Meta: + model = IntegerArrayModel + fields = ('field',) + + tests = [ + ({}, {'field_0': '', 'field_1': ''}, False), + ({'field': None}, {'field_0': '', 'field_1': ''}, False), + ({'field': []}, {'field_0': '', 'field_1': ''}, False), + ({'field': [1]}, {'field_0': '1', 'field_1': ''}, False), + ] + for initial, data, expected_result in tests: + with self.subTest(initial=initial, data=data): + obj = IntegerArrayModel(**initial) + form = Form(data, instance=obj) + self.assertIs(form.has_changed(), expected_result) + class TestSplitFormWidget(PostgreSQLWidgetTestCase): |