summaryrefslogtreecommitdiff
path: root/tests/forms_tests
diff options
context:
space:
mode:
authorMichal Petrucha <michal.petrucha@koniiiik.org>2016-11-06 07:16:56 +0100
committerTim Graham <timograham@gmail.com>2016-11-06 07:16:56 +0100
commit09da1e79de5a03a63610822bd4e5fc2adcbeb38a (patch)
tree260824793c64587d9bf7f923bd6016d65dca2236 /tests/forms_tests
parent37809b891eae2e73c7e80fbf5d8b9a7e86e82b54 (diff)
Fixed #27369 -- Prevented widgets from being shared between form field instances.
Diffstat (limited to 'tests/forms_tests')
-rw-r--r--tests/forms_tests/field_tests/test_base.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/tests/forms_tests/field_tests/test_base.py b/tests/forms_tests/field_tests/test_base.py
index 2eea92a149..802af3b183 100644
--- a/tests/forms_tests/field_tests/test_base.py
+++ b/tests/forms_tests/field_tests/test_base.py
@@ -1,4 +1,4 @@
-from django.forms import Field
+from django.forms import ChoiceField, Field, Form, Select
from django.test import SimpleTestCase
@@ -20,3 +20,17 @@ class BasicFieldsTests(SimpleTestCase):
f = ComplexField()
self.assertTrue(f.class_a_var)
+
+ def test_field_deepcopies_widget_instance(self):
+ class CustomChoiceField(ChoiceField):
+ widget = Select(attrs={'class': 'my-custom-class'})
+
+ class TestForm(Form):
+ field1 = CustomChoiceField(choices=[])
+ field2 = CustomChoiceField(choices=[])
+
+ f = TestForm()
+ f.fields['field1'].choices = [('1', '1')]
+ f.fields['field2'].choices = [('2', '2')]
+ self.assertEqual(f.fields['field1'].widget.choices, [('1', '1')])
+ self.assertEqual(f.fields['field2'].widget.choices, [('2', '2')])