summaryrefslogtreecommitdiff
path: root/tests/forms_tests/widget_tests
diff options
context:
space:
mode:
authorJosef Rousek <josef.rousek@gmail.com>2016-11-05 12:27:44 +0100
committerTim Graham <timograham@gmail.com>2016-12-28 10:45:22 -0500
commitaaecf038cae61f114db396f74e06759c95f21e93 (patch)
tree84ec007f12503ce6ccb5ae39850654c5da3e303f /tests/forms_tests/widget_tests
parent6dbe56ed7855f34585884a2381fb1cec22ddc824 (diff)
Fixed #27370 -- Prevented Select widget from using 'required' with a non-empty first value.
Diffstat (limited to 'tests/forms_tests/widget_tests')
-rw-r--r--tests/forms_tests/widget_tests/test_select.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/forms_tests/widget_tests/test_select.py b/tests/forms_tests/widget_tests/test_select.py
index 4b717b6043..d2660ea787 100644
--- a/tests/forms_tests/widget_tests/test_select.py
+++ b/tests/forms_tests/widget_tests/test_select.py
@@ -294,3 +294,23 @@ class SelectTest(WidgetTest):
self.assertIsNot(widget.choices, obj.choices)
self.assertEqual(widget.attrs, obj.attrs)
self.assertIsNot(widget.attrs, obj.attrs)
+
+ def test_doesnt_render_required_when_impossible_to_select_empty_field(self):
+ widget = self.widget(choices=[('J', 'John'), ('P', 'Paul')])
+ self.assertIs(widget.use_required_attribute(initial=None), False)
+
+ def test_renders_required_when_possible_to_select_empty_field_str(self):
+ widget = self.widget(choices=[('', 'select please'), ('P', 'Paul')])
+ self.assertIs(widget.use_required_attribute(initial=None), True)
+
+ def test_renders_required_when_possible_to_select_empty_field_list(self):
+ widget = self.widget(choices=[['', 'select please'], ['P', 'Paul']])
+ self.assertIs(widget.use_required_attribute(initial=None), True)
+
+ def test_renders_required_when_possible_to_select_empty_field_none(self):
+ widget = self.widget(choices=[(None, 'select please'), ('P', 'Paul')])
+ self.assertIs(widget.use_required_attribute(initial=None), True)
+
+ def test_doesnt_render_required_when_no_choices_are_available(self):
+ widget = self.widget(choices=[])
+ self.assertIs(widget.use_required_attribute(initial=None), False)