diff options
| author | django-bot <ops@djangoproject.com> | 2022-02-03 20:24:19 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-02-07 20:37:05 +0100 |
| commit | 9c19aff7c7561e3a82978a272ecdaad40dda5c00 (patch) | |
| tree | f0506b668a013d0063e5fba3dbf4863b466713ba /tests/forms_tests/widget_tests/test_checkboxselectmultiple.py | |
| parent | f68fa8b45dfac545cfc4111d4e52804c86db68d3 (diff) | |
Refs #33476 -- Reformatted code with Black.
Diffstat (limited to 'tests/forms_tests/widget_tests/test_checkboxselectmultiple.py')
| -rw-r--r-- | tests/forms_tests/widget_tests/test_checkboxselectmultiple.py | 100 |
1 files changed, 67 insertions, 33 deletions
diff --git a/tests/forms_tests/widget_tests/test_checkboxselectmultiple.py b/tests/forms_tests/widget_tests/test_checkboxselectmultiple.py index 65025ed748..35db8192ef 100644 --- a/tests/forms_tests/widget_tests/test_checkboxselectmultiple.py +++ b/tests/forms_tests/widget_tests/test_checkboxselectmultiple.py @@ -11,31 +11,45 @@ class CheckboxSelectMultipleTest(WidgetTest): widget = CheckboxSelectMultiple def test_render_value(self): - self.check_html(self.widget(choices=self.beatles), 'beatles', ['J'], html=""" + self.check_html( + self.widget(choices=self.beatles), + "beatles", + ["J"], + html=""" <div> <div><label><input checked type="checkbox" name="beatles" value="J"> John</label></div> <div><label><input type="checkbox" name="beatles" value="P"> Paul</label></div> <div><label><input type="checkbox" name="beatles" value="G"> George</label></div> <div><label><input type="checkbox" name="beatles" value="R"> Ringo</label></div> </div> - """) + """, + ) def test_render_value_multiple(self): - self.check_html(self.widget(choices=self.beatles), 'beatles', ['J', 'P'], html=""" + self.check_html( + self.widget(choices=self.beatles), + "beatles", + ["J", "P"], + html=""" <div> <div><label><input checked type="checkbox" name="beatles" value="J"> John</label></div> <div><label><input checked type="checkbox" name="beatles" value="P"> Paul</label></div> <div><label><input type="checkbox" name="beatles" value="G"> George</label></div> <div><label><input type="checkbox" name="beatles" value="R"> Ringo</label></div> </div> - """) + """, + ) def test_render_none(self): """ 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=(('', 'Unknown'),) + self.beatles), 'beatles', None, html=""" + self.check_html( + self.widget(choices=(("", "Unknown"),) + self.beatles), + "beatles", + None, + html=""" <div> <div><label><input type="checkbox" name="beatles" value=""> Unknown</label></div> <div><label><input type="checkbox" name="beatles" value="J"> John</label></div> @@ -43,13 +57,14 @@ class CheckboxSelectMultipleTest(WidgetTest): <div><label><input type="checkbox" name="beatles" value="G"> George</label></div> <div><label><input type="checkbox" name="beatles" value="R"> Ringo</label></div> </div> - """) + """, + ) def test_nested_choices(self): nested_choices = ( - ('unknown', 'Unknown'), - ('Audio', (('vinyl', 'Vinyl'), ('cd', 'CD'))), - ('Video', (('vhs', 'VHS'), ('dvd', 'DVD'))), + ("unknown", "Unknown"), + ("Audio", (("vinyl", "Vinyl"), ("cd", "CD"))), + ("Video", (("vhs", "VHS"), ("dvd", "DVD"))), ) html = """ <div id="media"> @@ -71,15 +86,18 @@ class CheckboxSelectMultipleTest(WidgetTest): </div> """ self.check_html( - self.widget(choices=nested_choices), 'nestchoice', ('vinyl', 'dvd'), - attrs={'id': 'media'}, html=html, + self.widget(choices=nested_choices), + "nestchoice", + ("vinyl", "dvd"), + attrs={"id": "media"}, + html=html, ) def test_nested_choices_without_id(self): nested_choices = ( - ('unknown', 'Unknown'), - ('Audio', (('vinyl', 'Vinyl'), ('cd', 'CD'))), - ('Video', (('vhs', 'VHS'), ('dvd', 'DVD'))), + ("unknown", "Unknown"), + ("Audio", (("vinyl", "Vinyl"), ("cd", "CD"))), + ("Video", (("vhs", "VHS"), ("dvd", "DVD"))), ) html = """ <div> @@ -95,13 +113,18 @@ class CheckboxSelectMultipleTest(WidgetTest): </div> </div> """ - self.check_html(self.widget(choices=nested_choices), 'nestchoice', ('vinyl', 'dvd'), html=html) + self.check_html( + self.widget(choices=nested_choices), + "nestchoice", + ("vinyl", "dvd"), + html=html, + ) def test_separate_ids(self): """ Each input gets a separate ID. """ - choices = [('a', 'A'), ('b', 'B'), ('c', 'C')] + choices = [("a", "A"), ("b", "B"), ("c", "C")] html = """ <div id="abc"> <div> @@ -113,13 +136,21 @@ class CheckboxSelectMultipleTest(WidgetTest): </div> </div> """ - self.check_html(self.widget(choices=choices), 'letters', ['a', 'c'], attrs={'id': 'abc'}, html=html) + self.check_html( + self.widget(choices=choices), + "letters", + ["a", "c"], + attrs={"id": "abc"}, + html=html, + ) def test_separate_ids_constructor(self): """ Each input gets a separate ID when the ID is passed to the constructor. """ - widget = CheckboxSelectMultiple(attrs={'id': 'abc'}, choices=[('a', 'A'), ('b', 'B'), ('c', 'C')]) + widget = CheckboxSelectMultiple( + attrs={"id": "abc"}, choices=[("a", "A"), ("b", "B"), ("c", "C")] + ) html = """ <div id="abc"> <div> @@ -131,14 +162,14 @@ class CheckboxSelectMultipleTest(WidgetTest): </div> </div> """ - self.check_html(widget, 'letters', ['a', 'c'], html=html) + self.check_html(widget, "letters", ["a", "c"], html=html) @override_settings(USE_THOUSAND_SEPARATOR=True) def test_doesnt_localize_input_value(self): choices = [ - (1, 'One'), - (1000, 'One thousand'), - (1000000, 'One million'), + (1, "One"), + (1000, "One thousand"), + (1000000, "One million"), ] html = """ <div> @@ -147,11 +178,11 @@ class CheckboxSelectMultipleTest(WidgetTest): <div><label><input type="checkbox" name="numbers" value="1000000"> One million</label></div> </div> """ - self.check_html(self.widget(choices=choices), 'numbers', None, html=html) + self.check_html(self.widget(choices=choices), "numbers", None, html=html) choices = [ - (datetime.time(0, 0), 'midnight'), - (datetime.time(12, 0), 'noon'), + (datetime.time(0, 0), "midnight"), + (datetime.time(12, 0), "noon"), ] html = """ <div> @@ -159,7 +190,7 @@ class CheckboxSelectMultipleTest(WidgetTest): <div><label><input type="checkbox" name="times" value="12:00:00"> noon</label></div> </div> """ - self.check_html(self.widget(choices=choices), 'times', None, html=html) + self.check_html(self.widget(choices=choices), "times", None, html=html) def test_use_required_attribute(self): widget = self.widget(choices=self.beatles) @@ -167,22 +198,25 @@ class CheckboxSelectMultipleTest(WidgetTest): # to be checked instead of at least one. self.assertIs(widget.use_required_attribute(None), False) self.assertIs(widget.use_required_attribute([]), False) - self.assertIs(widget.use_required_attribute(['J', 'P']), False) + self.assertIs(widget.use_required_attribute(["J", "P"]), False) def test_value_omitted_from_data(self): widget = self.widget(choices=self.beatles) - self.assertIs(widget.value_omitted_from_data({}, {}, 'field'), False) - self.assertIs(widget.value_omitted_from_data({'field': 'value'}, {}, 'field'), False) + self.assertIs(widget.value_omitted_from_data({}, {}, "field"), False) + self.assertIs( + widget.value_omitted_from_data({"field": "value"}, {}, "field"), False + ) def test_label(self): """ CheckboxSelectMultiple doesn't contain 'for="field_0"' in the <label> because clicking that would toggle the first checkbox. """ + class TestForm(forms.Form): f = forms.MultipleChoiceField(widget=CheckboxSelectMultiple) - bound_field = TestForm()['f'] - self.assertEqual(bound_field.field.widget.id_for_label('id'), '') - self.assertEqual(bound_field.label_tag(), '<label>F:</label>') - self.assertEqual(bound_field.legend_tag(), '<legend>F:</legend>') + bound_field = TestForm()["f"] + self.assertEqual(bound_field.field.widget.id_for_label("id"), "") + self.assertEqual(bound_field.label_tag(), "<label>F:</label>") + self.assertEqual(bound_field.legend_tag(), "<legend>F:</legend>") |
