summaryrefslogtreecommitdiff
path: root/tests/forms_tests
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2018-03-30 11:55:33 +0200
committerTim Graham <timograham@gmail.com>2018-04-02 08:52:53 -0400
commitf3b69f9757ec03057441ebbd52b7cdbfed31fb32 (patch)
tree35a3bca434e63f5df23a5ba39c0f841f376f7b66 /tests/forms_tests
parentd31a248c641e42c1afdbbd93d6d4607dbae779d4 (diff)
Fixed #29273 -- Prevented initial selection of empty choice in multiple choice widgets.
Regression in b52c73008a9d67e9ddbb841872dc15cdd3d6ee01.
Diffstat (limited to 'tests/forms_tests')
-rw-r--r--tests/forms_tests/widget_tests/test_checkboxselectmultiple.py6
-rw-r--r--tests/forms_tests/widget_tests/test_selectmultiple.py8
2 files changed, 9 insertions, 5 deletions
diff --git a/tests/forms_tests/widget_tests/test_checkboxselectmultiple.py b/tests/forms_tests/widget_tests/test_checkboxselectmultiple.py
index ef31ce9d36..07e5cca935 100644
--- a/tests/forms_tests/widget_tests/test_checkboxselectmultiple.py
+++ b/tests/forms_tests/widget_tests/test_checkboxselectmultiple.py
@@ -32,10 +32,12 @@ class CheckboxSelectMultipleTest(WidgetTest):
def test_render_none(self):
"""
- If the value is None, none of the options are selected.
+ If the value is None, none of the options are selected, even if the
+ choices have an empty option.
"""
- self.check_html(self.widget(choices=self.beatles), 'beatles', None, html=(
+ self.check_html(self.widget(choices=(('', 'Unknown'),) + self.beatles), 'beatles', None, html=(
"""<ul>
+ <li><label><input type="checkbox" name="beatles" value=""> Unknown</label></li>
<li><label><input type="checkbox" name="beatles" value="J"> John</label></li>
<li><label><input type="checkbox" name="beatles" value="P"> Paul</label></li>
<li><label><input type="checkbox" name="beatles" value="G"> George</label></li>
diff --git a/tests/forms_tests/widget_tests/test_selectmultiple.py b/tests/forms_tests/widget_tests/test_selectmultiple.py
index 08606a18c4..eb144ba4b3 100644
--- a/tests/forms_tests/widget_tests/test_selectmultiple.py
+++ b/tests/forms_tests/widget_tests/test_selectmultiple.py
@@ -9,7 +9,7 @@ class SelectMultipleTest(WidgetTest):
def test_format_value(self):
widget = self.widget(choices=self.numeric_choices)
- self.assertEqual(widget.format_value(None), [''])
+ self.assertEqual(widget.format_value(None), [])
self.assertEqual(widget.format_value(''), [''])
self.assertEqual(widget.format_value([3, 0, 1]), ['3', '0', '1'])
@@ -35,10 +35,12 @@ class SelectMultipleTest(WidgetTest):
def test_render_none(self):
"""
- If the value is None, none of the options are selected.
+ If the value is None, none of the options are selected, even if the
+ choices have an empty option.
"""
- self.check_html(self.widget(choices=self.beatles), 'beatles', None, html=(
+ self.check_html(self.widget(choices=(('', 'Unknown'),) + self.beatles), 'beatles', None, html=(
"""<select multiple name="beatles">
+ <option value="">Unknown</option>
<option value="J">John</option>
<option value="P">Paul</option>
<option value="G">George</option>