From 9c19aff7c7561e3a82978a272ecdaad40dda5c00 Mon Sep 17 00:00:00 2001 From: django-bot Date: Thu, 3 Feb 2022 20:24:19 +0100 Subject: Refs #33476 -- Reformatted code with Black. --- tests/forms_tests/widget_tests/base.py | 22 +- .../forms_tests/widget_tests/test_checkboxinput.py | 89 +++-- .../widget_tests/test_checkboxselectmultiple.py | 100 ++++-- .../widget_tests/test_clearablefileinput.py | 101 ++++-- tests/forms_tests/widget_tests/test_dateinput.py | 43 ++- .../forms_tests/widget_tests/test_datetimeinput.py | 74 ++-- tests/forms_tests/widget_tests/test_fileinput.py | 23 +- tests/forms_tests/widget_tests/test_hiddeninput.py | 8 +- tests/forms_tests/widget_tests/test_input.py | 20 +- .../widget_tests/test_multiplehiddeninput.py | 44 ++- tests/forms_tests/widget_tests/test_multiwidget.py | 203 +++++++---- .../widget_tests/test_nullbooleanselect.py | 112 ++++-- tests/forms_tests/widget_tests/test_numberinput.py | 9 +- .../forms_tests/widget_tests/test_passwordinput.py | 23 +- tests/forms_tests/widget_tests/test_radioselect.py | 69 ++-- tests/forms_tests/widget_tests/test_select.py | 375 +++++++++++++-------- .../widget_tests/test_selectdatewidget.py | 240 ++++++++----- .../widget_tests/test_selectmultiple.py | 140 +++++--- .../widget_tests/test_splitdatetimewidget.py | 93 +++-- .../widget_tests/test_splithiddendatetimewidget.py | 83 +++-- tests/forms_tests/widget_tests/test_textarea.py | 52 ++- tests/forms_tests/widget_tests/test_textinput.py | 79 +++-- tests/forms_tests/widget_tests/test_timeinput.py | 55 ++- tests/forms_tests/widget_tests/test_widget.py | 23 +- 24 files changed, 1406 insertions(+), 674 deletions(-) (limited to 'tests/forms_tests/widget_tests') diff --git a/tests/forms_tests/widget_tests/base.py b/tests/forms_tests/widget_tests/base.py index 339d78bc71..c29099abf2 100644 --- a/tests/forms_tests/widget_tests/base.py +++ b/tests/forms_tests/widget_tests/base.py @@ -8,24 +8,32 @@ except ImportError: class WidgetTest(SimpleTestCase): - beatles = (('J', 'John'), ('P', 'Paul'), ('G', 'George'), ('R', 'Ringo')) + beatles = (("J", "John"), ("P", "Paul"), ("G", "George"), ("R", "Ringo")) @classmethod def setUpClass(cls): cls.django_renderer = DjangoTemplates() cls.jinja2_renderer = Jinja2() if jinja2 else None - cls.renderers = [cls.django_renderer] + ([cls.jinja2_renderer] if cls.jinja2_renderer else []) + cls.renderers = [cls.django_renderer] + ( + [cls.jinja2_renderer] if cls.jinja2_renderer else [] + ) super().setUpClass() - def check_html(self, widget, name, value, html='', attrs=None, strict=False, **kwargs): + def check_html( + self, widget, name, value, html="", attrs=None, strict=False, **kwargs + ): assertEqual = self.assertEqual if strict else self.assertHTMLEqual if self.jinja2_renderer: - output = widget.render(name, value, attrs=attrs, renderer=self.jinja2_renderer, **kwargs) + output = widget.render( + name, value, attrs=attrs, renderer=self.jinja2_renderer, **kwargs + ) # Django escapes quotes with '"' while Jinja2 uses '"'. - output = output.replace('"', '"') + output = output.replace(""", """) # Django escapes single quotes with ''' while Jinja2 uses '''. - output = output.replace(''', ''') + output = output.replace("'", "'") assertEqual(output, html) - output = widget.render(name, value, attrs=attrs, renderer=self.django_renderer, **kwargs) + output = widget.render( + name, value, attrs=attrs, renderer=self.django_renderer, **kwargs + ) assertEqual(output, html) diff --git a/tests/forms_tests/widget_tests/test_checkboxinput.py b/tests/forms_tests/widget_tests/test_checkboxinput.py index 8dba2178c9..0f65e876df 100644 --- a/tests/forms_tests/widget_tests/test_checkboxinput.py +++ b/tests/forms_tests/widget_tests/test_checkboxinput.py @@ -7,18 +7,26 @@ class CheckboxInputTest(WidgetTest): widget = CheckboxInput() def test_render_empty(self): - self.check_html(self.widget, 'is_cool', '', html='') + self.check_html( + self.widget, "is_cool", "", html='' + ) def test_render_none(self): - self.check_html(self.widget, 'is_cool', None, html='') + self.check_html( + self.widget, "is_cool", None, html='' + ) def test_render_false(self): - self.check_html(self.widget, 'is_cool', False, html='') + self.check_html( + self.widget, "is_cool", False, html='' + ) def test_render_true(self): self.check_html( - self.widget, 'is_cool', True, - html='' + self.widget, + "is_cool", + True, + html='', ) def test_render_value(self): @@ -27,7 +35,9 @@ class CheckboxInputTest(WidgetTest): checkbox and set the 'value' attribute. """ self.check_html( - self.widget, 'is_cool', 'foo', + self.widget, + "is_cool", + "foo", html='', ) @@ -36,11 +46,15 @@ class CheckboxInputTest(WidgetTest): Integers are handled by value, not as booleans (#17114). """ self.check_html( - self.widget, 'is_cool', 0, + self.widget, + "is_cool", + 0, html='', ) self.check_html( - self.widget, 'is_cool', 1, + self.widget, + "is_cool", + 1, html='', ) @@ -49,30 +63,43 @@ class CheckboxInputTest(WidgetTest): You can pass 'check_test' to the constructor. This is a callable that takes the value and returns True if the box should be checked. """ - widget = CheckboxInput(check_test=lambda value: value.startswith('hello')) - self.check_html(widget, 'greeting', '', html=( - '' - )) - self.check_html(widget, 'greeting', 'hello', html=( - '' - )) - self.check_html(widget, 'greeting', 'hello there', html=( - '' - )) - self.check_html(widget, 'greeting', 'hello & goodbye', html=( - '' - )) + widget = CheckboxInput(check_test=lambda value: value.startswith("hello")) + self.check_html( + widget, "greeting", "", html=('') + ) + self.check_html( + widget, + "greeting", + "hello", + html=(''), + ) + self.check_html( + widget, + "greeting", + "hello there", + html=( + '' + ), + ) + self.check_html( + widget, + "greeting", + "hello & goodbye", + html=( + '' + ), + ) def test_render_check_exception(self): """ Calling check_test() shouldn't swallow exceptions (#17888). """ widget = CheckboxInput( - check_test=lambda value: value.startswith('hello'), + check_test=lambda value: value.startswith("hello"), ) with self.assertRaises(AttributeError): - widget.render('greeting', True) + widget.render("greeting", True) def test_value_from_datadict(self): """ @@ -80,17 +107,19 @@ class CheckboxInputTest(WidgetTest): the data dictionary (because HTML form submission doesn't send any result for unchecked checkboxes). """ - self.assertFalse(self.widget.value_from_datadict({}, {}, 'testing')) + self.assertFalse(self.widget.value_from_datadict({}, {}, "testing")) def test_value_from_datadict_string_int(self): - value = self.widget.value_from_datadict({'testing': '0'}, {}, 'testing') + value = self.widget.value_from_datadict({"testing": "0"}, {}, "testing") self.assertIs(value, True) def test_value_omitted_from_data(self): - self.assertIs(self.widget.value_omitted_from_data({'field': 'value'}, {}, 'field'), False) - self.assertIs(self.widget.value_omitted_from_data({}, {}, 'field'), False) + self.assertIs( + self.widget.value_omitted_from_data({"field": "value"}, {}, "field"), False + ) + self.assertIs(self.widget.value_omitted_from_data({}, {}, "field"), False) def test_get_context_does_not_mutate_attrs(self): - attrs = {'checked': False} - self.widget.get_context('name', True, attrs) - self.assertIs(attrs['checked'], False) + attrs = {"checked": False} + self.widget.get_context("name", True, attrs) + self.assertIs(attrs["checked"], False) 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="""
- """) + """, + ) 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="""
- """) + """, + ) 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="""
@@ -43,13 +57,14 @@ class CheckboxSelectMultipleTest(WidgetTest):
- """) + """, + ) 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 = """
@@ -71,15 +86,18 @@ class CheckboxSelectMultipleTest(WidgetTest):
""" 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 = """
@@ -95,13 +113,18 @@ class CheckboxSelectMultipleTest(WidgetTest):
""" - 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 = """
@@ -113,13 +136,21 @@ class CheckboxSelectMultipleTest(WidgetTest):
""" - 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 = """
@@ -131,14 +162,14 @@ class CheckboxSelectMultipleTest(WidgetTest):
""" - 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 = """
@@ -147,11 +178,11 @@ class CheckboxSelectMultipleTest(WidgetTest):
""" - 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 = """
@@ -159,7 +190,7 @@ class CheckboxSelectMultipleTest(WidgetTest):
""" - 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