summaryrefslogtreecommitdiff
path: root/tests/forms_tests
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2026-01-18 21:26:56 +0100
committerGitHub <noreply@github.com>2026-01-18 21:26:56 +0100
commit6cff02078799b7c683a0d39630d49ab4fe532e7c (patch)
tree9813fc94d952942117b23d61231b9e89a8cab1c2 /tests/forms_tests
parent0d31ca98830542088299d2078402891d08cc3a65 (diff)
Applied Black's 2026 stable style.
https://github.com/psf/black/releases/tag/26.1.0
Diffstat (limited to 'tests/forms_tests')
-rw-r--r--tests/forms_tests/tests/test_forms.py3
-rw-r--r--tests/forms_tests/tests/tests.py3
-rw-r--r--tests/forms_tests/widget_tests/test_clearablefileinput.py24
-rw-r--r--tests/forms_tests/widget_tests/test_multiwidget.py6
-rw-r--r--tests/forms_tests/widget_tests/test_nullbooleanselect.py60
-rw-r--r--tests/forms_tests/widget_tests/test_select.py78
-rw-r--r--tests/forms_tests/widget_tests/test_selectdatewidget.py30
-rw-r--r--tests/forms_tests/widget_tests/test_selectmultiple.py60
-rw-r--r--tests/forms_tests/widget_tests/test_splithiddendatetimewidget.py6
9 files changed, 92 insertions, 178 deletions
diff --git a/tests/forms_tests/tests/test_forms.py b/tests/forms_tests/tests/test_forms.py
index 7f698ad706..14fbc19a59 100644
--- a/tests/forms_tests/tests/test_forms.py
+++ b/tests/forms_tests/tests/test_forms.py
@@ -3671,7 +3671,8 @@ Options: <select multiple name="options" aria-invalid="true" required>
self.assertTrue(f.is_valid())
file1 = SimpleUploadedFile(
- "我隻氣墊船裝滿晒鱔.txt", "मेरी मँडराने वाली नाव सर्पमीनों से भरी ह".encode()
+ "我隻氣墊船裝滿晒鱔.txt",
+ "मेरी मँडराने वाली नाव सर्पमीनों से भरी ह".encode(),
)
f = FileForm(data={}, files={"file1": file1}, auto_id=False)
self.assertHTMLEqual(
diff --git a/tests/forms_tests/tests/tests.py b/tests/forms_tests/tests/tests.py
index 866faaac4d..253e34976a 100644
--- a/tests/forms_tests/tests/tests.py
+++ b/tests/forms_tests/tests/tests.py
@@ -250,7 +250,8 @@ class FormsModelTestCase(TestCase):
def test_unicode_filename(self):
# FileModel with Unicode filename and data.
file1 = SimpleUploadedFile(
- "我隻氣墊船裝滿晒鱔.txt", "मेरी मँडराने वाली नाव सर्पमीनों से भरी ह".encode()
+ "我隻氣墊船裝滿晒鱔.txt",
+ "मेरी मँडराने वाली नाव सर्पमीनों से भरी ह".encode(),
)
f = FileForm(data={}, files={"file1": file1}, auto_id=False)
self.assertTrue(f.is_valid())
diff --git a/tests/forms_tests/widget_tests/test_clearablefileinput.py b/tests/forms_tests/widget_tests/test_clearablefileinput.py
index ae54cc4b5d..31ff1af624 100644
--- a/tests/forms_tests/widget_tests/test_clearablefileinput.py
+++ b/tests/forms_tests/widget_tests/test_clearablefileinput.py
@@ -29,14 +29,12 @@ class ClearableFileInputTest(WidgetTest):
self.widget,
"myfile",
FakeFieldFile(),
- html=(
- """
+ html=("""
Currently: <a href="something">something</a>
<input type="checkbox" name="myfile-clear" id="myfile-clear_id">
<label for="myfile-clear_id">Clear</label><br>
Change: <input type="file" name="myfile">
- """
- ),
+ """),
)
def test_html_escaped(self):
@@ -55,8 +53,7 @@ class ClearableFileInputTest(WidgetTest):
ClearableFileInput(),
"my<div>file",
StrangeFieldFile(),
- html=(
- """
+ html=("""
Currently:
<a href="something?chapter=1&amp;sect=2&amp;copy=3&amp;lang=en">
something&lt;div onclick=&quot;alert(&#x27;oops&#x27;)&quot;&gt;.jpg</a>
@@ -64,8 +61,7 @@ class ClearableFileInputTest(WidgetTest):
id="my&lt;div&gt;file-clear_id">
<label for="my&lt;div&gt;file-clear_id">Clear</label><br>
Change: <input type="file" name="my&lt;div&gt;file">
- """
- ),
+ """),
)
def test_clear_input_renders_only_if_not_required(self):
@@ -79,12 +75,10 @@ class ClearableFileInputTest(WidgetTest):
widget,
"myfile",
FakeFieldFile(),
- html=(
- """
+ html=("""
Currently: <a href="something">something</a> <br>
Change: <input type="file" name="myfile">
- """
- ),
+ """),
)
def test_clear_input_renders_only_if_initial(self):
@@ -143,14 +137,12 @@ class ClearableFileInputTest(WidgetTest):
widget,
"myfile",
[FakeFieldFile()],
- html=(
- """
+ html=("""
Currently: <a href="something">something</a>
<input type="checkbox" name="myfile_0-clear" id="myfile_0-clear_id">
<label for="myfile_0-clear_id">Clear</label><br>
Change: <input type="file" name="myfile_0">
- """
- ),
+ """),
)
def test_clear_input_checked_returns_false(self):
diff --git a/tests/forms_tests/widget_tests/test_multiwidget.py b/tests/forms_tests/widget_tests/test_multiwidget.py
index 40f099e625..5e360e3e92 100644
--- a/tests/forms_tests/widget_tests/test_multiwidget.py
+++ b/tests/forms_tests/widget_tests/test_multiwidget.py
@@ -273,8 +273,7 @@ class MultiWidgetTest(WidgetTest):
widget,
"name",
"some text,JP,2007-04-25 06:24:00",
- html=(
- """
+ html=("""
<input type="text" name="name_0" value="some text">
<select multiple name="name_1">
<option value="J" selected>John</option>
@@ -284,8 +283,7 @@ class MultiWidgetTest(WidgetTest):
</select>
<input type="text" name="name_2_0" value="2007-04-25">
<input type="text" name="name_2_1" value="06:24:00">
- """
- ),
+ """),
)
def test_no_whitespace_between_widgets(self):
diff --git a/tests/forms_tests/widget_tests/test_nullbooleanselect.py b/tests/forms_tests/widget_tests/test_nullbooleanselect.py
index 307ae56579..705ec6ce06 100644
--- a/tests/forms_tests/widget_tests/test_nullbooleanselect.py
+++ b/tests/forms_tests/widget_tests/test_nullbooleanselect.py
@@ -12,13 +12,11 @@ class NullBooleanSelectTest(WidgetTest):
self.widget,
"is_cool",
True,
- html=(
- """<select name="is_cool">
+ html=("""<select name="is_cool">
<option value="unknown">Unknown</option>
<option value="true" selected>Yes</option>
<option value="false">No</option>
- </select>"""
- ),
+ </select>"""),
)
def test_render_false(self):
@@ -26,13 +24,11 @@ class NullBooleanSelectTest(WidgetTest):
self.widget,
"is_cool",
False,
- html=(
- """<select name="is_cool">
+ html=("""<select name="is_cool">
<option value="unknown">Unknown</option>
<option value="true">Yes</option>
<option value="false" selected>No</option>
- </select>"""
- ),
+ </select>"""),
)
def test_render_none(self):
@@ -40,13 +36,11 @@ class NullBooleanSelectTest(WidgetTest):
self.widget,
"is_cool",
None,
- html=(
- """<select name="is_cool">
+ html=("""<select name="is_cool">
<option value="unknown" selected>Unknown</option>
<option value="true">Yes</option>
<option value="false">No</option>
- </select>"""
- ),
+ </select>"""),
)
def test_render_value_unknown(self):
@@ -54,13 +48,11 @@ class NullBooleanSelectTest(WidgetTest):
self.widget,
"is_cool",
"unknown",
- html=(
- """<select name="is_cool">
+ html=("""<select name="is_cool">
<option value="unknown" selected>Unknown</option>
<option value="true">Yes</option>
<option value="false">No</option>
- </select>"""
- ),
+ </select>"""),
)
def test_render_value_true(self):
@@ -68,13 +60,11 @@ class NullBooleanSelectTest(WidgetTest):
self.widget,
"is_cool",
"true",
- html=(
- """<select name="is_cool">
+ html=("""<select name="is_cool">
<option value="unknown">Unknown</option>
<option value="true" selected>Yes</option>
<option value="false">No</option>
- </select>"""
- ),
+ </select>"""),
)
def test_render_value_false(self):
@@ -82,13 +72,11 @@ class NullBooleanSelectTest(WidgetTest):
self.widget,
"is_cool",
"false",
- html=(
- """<select name="is_cool">
+ html=("""<select name="is_cool">
<option value="unknown">Unknown</option>
<option value="true">Yes</option>
<option value="false" selected>No</option>
- </select>"""
- ),
+ </select>"""),
)
def test_render_value_1(self):
@@ -96,13 +84,11 @@ class NullBooleanSelectTest(WidgetTest):
self.widget,
"is_cool",
"1",
- html=(
- """<select name="is_cool">
+ html=("""<select name="is_cool">
<option value="unknown" selected>Unknown</option>
<option value="true">Yes</option>
<option value="false">No</option>
- </select>"""
- ),
+ </select>"""),
)
def test_render_value_2(self):
@@ -110,13 +96,11 @@ class NullBooleanSelectTest(WidgetTest):
self.widget,
"is_cool",
"2",
- html=(
- """<select name="is_cool">
+ html=("""<select name="is_cool">
<option value="unknown">Unknown</option>
<option value="true" selected>Yes</option>
<option value="false">No</option>
- </select>"""
- ),
+ </select>"""),
)
def test_render_value_3(self):
@@ -124,13 +108,11 @@ class NullBooleanSelectTest(WidgetTest):
self.widget,
"is_cool",
"3",
- html=(
- """<select name="is_cool">
+ html=("""<select name="is_cool">
<option value="unknown">Unknown</option>
<option value="true">Yes</option>
<option value="false" selected>No</option>
- </select>"""
- ),
+ </select>"""),
)
def test_l10n(self):
@@ -144,15 +126,13 @@ class NullBooleanSelectTest(WidgetTest):
widget,
"id_bool",
True,
- html=(
- """
+ html=("""
<select name="id_bool">
<option value="unknown">Unbekannt</option>
<option value="true" selected>Ja</option>
<option value="false">Nein</option>
</select>
- """
- ),
+ """),
)
def test_fieldset(self):
diff --git a/tests/forms_tests/widget_tests/test_select.py b/tests/forms_tests/widget_tests/test_select.py
index 6164d0b6b3..884b768086 100644
--- a/tests/forms_tests/widget_tests/test_select.py
+++ b/tests/forms_tests/widget_tests/test_select.py
@@ -31,14 +31,12 @@ class SelectTest(ChoiceWidgetTest):
self.widget(choices=self.beatles),
"beatle",
None,
- html=(
- """<select name="beatle">
+ html=("""<select name="beatle">
<option value="J">John</option>
<option value="P">Paul</option>
<option value="G">George</option>
<option value="R">Ringo</option>
- </select>"""
- ),
+ </select>"""),
)
def test_render_label_value(self):
@@ -50,14 +48,12 @@ class SelectTest(ChoiceWidgetTest):
self.widget(choices=self.beatles),
"beatle",
"John",
- html=(
- """<select name="beatle">
+ html=("""<select name="beatle">
<option value="J">John</option>
<option value="P">Paul</option>
<option value="G">George</option>
<option value="R">Ringo</option>
- </select>"""
- ),
+ </select>"""),
)
def test_render_selected(self):
@@ -70,15 +66,13 @@ class SelectTest(ChoiceWidgetTest):
self.widget(choices=choices),
"choices",
"0",
- html=(
- """<select name="choices">
+ html=("""<select name="choices">
<option value="0" selected>0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="0">extra</option>
- </select>"""
- ),
+ </select>"""),
)
def test_constructor_attrs(self):
@@ -93,13 +87,11 @@ class SelectTest(ChoiceWidgetTest):
widget,
"num",
2,
- html=(
- """<select name="num" class="super" id="super">
+ html=("""<select name="num" class="super" id="super">
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
- </select>"""
- ),
+ </select>"""),
)
def test_compare_to_str(self):
@@ -110,37 +102,31 @@ class SelectTest(ChoiceWidgetTest):
self.widget(choices=[("1", "1"), ("2", "2"), ("3", "3")]),
"num",
2,
- html=(
- """<select name="num">
+ html=("""<select name="num">
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
- </select>"""
- ),
+ </select>"""),
)
self.check_html(
self.widget(choices=[(1, 1), (2, 2), (3, 3)]),
"num",
"2",
- html=(
- """<select name="num">
+ html=("""<select name="num">
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
- </select>"""
- ),
+ </select>"""),
)
self.check_html(
self.widget(choices=[(1, 1), (2, 2), (3, 3)]),
"num",
2,
- html=(
- """<select name="num">
+ html=("""<select name="num">
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
- </select>"""
- ),
+ </select>"""),
)
def test_choices_constructor(self):
@@ -149,13 +135,11 @@ class SelectTest(ChoiceWidgetTest):
widget,
"num",
2,
- html=(
- """<select name="num">
+ html=("""<select name="num">
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
- </select>"""
- ),
+ </select>"""),
)
def test_choices_constructor_generator(self):
@@ -173,29 +157,25 @@ class SelectTest(ChoiceWidgetTest):
widget,
"num",
2,
- html=(
- """<select name="num">
+ html=("""<select name="num">
<option value="0">0</option>
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
<option value="4">4</option>
- </select>"""
- ),
+ </select>"""),
)
self.check_html(
widget,
"num",
3,
- html=(
- """<select name="num">
+ html=("""<select name="num">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3" selected>3</option>
<option value="4">4</option>
- </select>"""
- ),
+ </select>"""),
)
def test_choices_escaping(self):
@@ -204,12 +184,10 @@ class SelectTest(ChoiceWidgetTest):
self.widget(choices=choices),
"escape",
None,
- html=(
- """<select name="escape">
+ html=("""<select name="escape">
<option value="bad">you &amp; me</option>
<option value="good">you &gt; me</option>
- </select>"""
- ),
+ </select>"""),
)
def test_choices_unicode(self):
@@ -217,8 +195,7 @@ class SelectTest(ChoiceWidgetTest):
self.widget(choices=[("ŠĐĆŽćžšđ", "ŠĐabcĆŽćžšđ"), ("ćžšđ", "abcćžšđ")]),
"email",
"ŠĐĆŽćžšđ",
- html=(
- """
+ html=("""
<select name="email">
<option value="\u0160\u0110\u0106\u017d\u0107\u017e\u0161\u0111"
selected>
@@ -227,8 +204,7 @@ class SelectTest(ChoiceWidgetTest):
<option value="\u0107\u017e\u0161\u0111">abc\u0107\u017e\u0161\u0111
</option>
</select>
- """
- ),
+ """),
)
def test_choices_optgroup(self):
@@ -429,8 +405,7 @@ class SelectTest(ChoiceWidgetTest):
MultiWidget([self.widget(choices=choices), TextInput()]),
"beatle",
["J", "Some text"],
- html=(
- """
+ html=("""
<select name="beatle_0">
<option value="">------</option>
<option value="J" selected>John</option>
@@ -439,8 +414,7 @@ class SelectTest(ChoiceWidgetTest):
<option value="R">Ringo</option>
</select>
<input name="beatle_1" type="text" value="Some text">
- """
- ),
+ """),
)
def test_fieldset(self):
diff --git a/tests/forms_tests/widget_tests/test_selectdatewidget.py b/tests/forms_tests/widget_tests/test_selectdatewidget.py
index ff1f59a46c..0a2dc3fc48 100644
--- a/tests/forms_tests/widget_tests/test_selectdatewidget.py
+++ b/tests/forms_tests/widget_tests/test_selectdatewidget.py
@@ -32,8 +32,7 @@ class SelectDateWidgetTest(WidgetTest):
self.widget,
"mydate",
"",
- html=(
- """
+ html=("""
<select name="mydate_month" id="id_mydate_month">
<option selected value="">---</option>
<option value="1">January</option>
@@ -98,8 +97,7 @@ class SelectDateWidgetTest(WidgetTest):
<option value="2015">2015</option>
<option value="2016">2016</option>
</select>
- """
- ),
+ """),
)
def test_render_none(self):
@@ -116,8 +114,7 @@ class SelectDateWidgetTest(WidgetTest):
self.widget,
"mydate",
"2010-04-15",
- html=(
- """
+ html=("""
<select name="mydate_month" id="id_mydate_month">
<option value="">---</option>
<option value="1">January</option>
@@ -182,8 +179,7 @@ class SelectDateWidgetTest(WidgetTest):
<option value="2015">2015</option>
<option value="2016">2016</option>
</select>
- """
- ),
+ """),
)
def test_render_datetime(self):
@@ -200,8 +196,7 @@ class SelectDateWidgetTest(WidgetTest):
self.widget,
"mydate",
"2010-02-31",
- html=(
- """
+ html=("""
<select name="mydate_month" id="id_mydate_month">
<option value="">---</option>
<option value="1">January</option>
@@ -266,8 +261,7 @@ class SelectDateWidgetTest(WidgetTest):
<option value="2015">2015</option>
<option value="2016">2016</option>
</select>
- """
- ),
+ """),
)
def test_custom_months(self):
@@ -276,8 +270,7 @@ class SelectDateWidgetTest(WidgetTest):
widget,
"mydate",
"",
- html=(
- """
+ html=("""
<select name="mydate_month" id="id_mydate_month">
<option selected value="">---</option>
<option value="1">Jan.</option>
@@ -333,8 +326,7 @@ class SelectDateWidgetTest(WidgetTest):
<option selected value="">---</option>
<option value="2013">2013</option>
</select>
- """
- ),
+ """),
)
def test_selectdate_required(self):
@@ -651,8 +643,7 @@ class SelectDateWidgetTest(WidgetTest):
widget,
"mydate",
"",
- html=(
- """
+ html=("""
<select name="mydate_month" id="id_mydate_month">
<option selected value="">---</option>
<option value="1">January</option>
@@ -706,8 +697,7 @@ class SelectDateWidgetTest(WidgetTest):
<option selected value="">---</option>
<option value="2007">2007</option>
</select>
- """
- ),
+ """),
)
def test_fieldset(self):
diff --git a/tests/forms_tests/widget_tests/test_selectmultiple.py b/tests/forms_tests/widget_tests/test_selectmultiple.py
index c4fbea4490..e3dfee426d 100644
--- a/tests/forms_tests/widget_tests/test_selectmultiple.py
+++ b/tests/forms_tests/widget_tests/test_selectmultiple.py
@@ -18,14 +18,12 @@ class SelectMultipleTest(WidgetTest):
self.widget(choices=self.beatles),
"beatles",
["J"],
- html=(
- """<select multiple name="beatles">
+ html=("""<select multiple name="beatles">
<option value="J" selected>John</option>
<option value="P">Paul</option>
<option value="G">George</option>
<option value="R">Ringo</option>
- </select>"""
- ),
+ </select>"""),
)
def test_render_multiple_selected(self):
@@ -33,14 +31,12 @@ class SelectMultipleTest(WidgetTest):
self.widget(choices=self.beatles),
"beatles",
["J", "P"],
- html=(
- """<select multiple name="beatles">
+ html=("""<select multiple name="beatles">
<option value="J" selected>John</option>
<option value="P" selected>Paul</option>
<option value="G">George</option>
<option value="R">Ringo</option>
- </select>"""
- ),
+ </select>"""),
)
def test_render_none(self):
@@ -52,15 +48,13 @@ class SelectMultipleTest(WidgetTest):
self.widget(choices=(("", "Unknown"),) + self.beatles),
"beatles",
None,
- html=(
- """<select multiple name="beatles">
+ html=("""<select multiple name="beatles">
<option value="">Unknown</option>
<option value="J">John</option>
<option value="P">Paul</option>
<option value="G">George</option>
<option value="R">Ringo</option>
- </select>"""
- ),
+ </select>"""),
)
def test_render_value_label(self):
@@ -72,14 +66,12 @@ class SelectMultipleTest(WidgetTest):
self.widget(choices=self.beatles),
"beatles",
["John"],
- html=(
- """<select multiple name="beatles">
+ html=("""<select multiple name="beatles">
<option value="J">John</option>
<option value="P">Paul</option>
<option value="G">George</option>
<option value="R">Ringo</option>
- </select>"""
- ),
+ </select>"""),
)
def test_multiple_options_same_value(self):
@@ -90,15 +82,13 @@ class SelectMultipleTest(WidgetTest):
self.widget(choices=self.numeric_choices),
"choices",
["0"],
- html=(
- """<select multiple name="choices">
+ html=("""<select multiple name="choices">
<option value="0" selected>0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="0" selected>extra</option>
- </select>"""
- ),
+ </select>"""),
)
def test_multiple_values_invalid(self):
@@ -110,14 +100,12 @@ class SelectMultipleTest(WidgetTest):
self.widget(choices=self.beatles),
"beatles",
["J", "G", "foo"],
- html=(
- """<select multiple name="beatles">
+ html=("""<select multiple name="beatles">
<option value="J" selected>John</option>
<option value="P">Paul</option>
<option value="G" selected>George</option>
<option value="R">Ringo</option>
- </select>"""
- ),
+ </select>"""),
)
def test_compare_string(self):
@@ -127,39 +115,33 @@ class SelectMultipleTest(WidgetTest):
self.widget(choices=choices),
"nums",
[2],
- html=(
- """<select multiple name="nums">
+ html=("""<select multiple name="nums">
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
- </select>"""
- ),
+ </select>"""),
)
self.check_html(
self.widget(choices=choices),
"nums",
["2"],
- html=(
- """<select multiple name="nums">
+ html=("""<select multiple name="nums">
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
- </select>"""
- ),
+ </select>"""),
)
self.check_html(
self.widget(choices=choices),
"nums",
[2],
- html=(
- """<select multiple name="nums">
+ html=("""<select multiple name="nums">
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
- </select>"""
- ),
+ </select>"""),
)
def test_optgroup_select_multiple(self):
@@ -173,15 +155,13 @@ class SelectMultipleTest(WidgetTest):
widget,
"nestchoice",
["outer1", "inner2"],
- html=(
- """<select multiple name="nestchoice">
+ html=("""<select multiple name="nestchoice">
<option value="outer1" selected>Outer 1</option>
<optgroup label="Group &quot;1&quot;">
<option value="inner1">Inner 1</option>
<option value="inner2" selected>Inner 2</option>
</optgroup>
- </select>"""
- ),
+ </select>"""),
)
def test_value_omitted_from_data(self):
diff --git a/tests/forms_tests/widget_tests/test_splithiddendatetimewidget.py b/tests/forms_tests/widget_tests/test_splithiddendatetimewidget.py
index 93ded6ac6d..1083ccc4ec 100644
--- a/tests/forms_tests/widget_tests/test_splithiddendatetimewidget.py
+++ b/tests/forms_tests/widget_tests/test_splithiddendatetimewidget.py
@@ -56,12 +56,10 @@ class SplitHiddenDateTimeWidgetTest(WidgetTest):
self.widget,
"date",
d,
- html=(
- """
+ html=("""
<input type="hidden" name="date_0" value="17.09.2007">
<input type="hidden" name="date_1" value="12:51:00">
- """
- ),
+ """),
)
def test_constructor_different_attrs(self):