Skip to content

Commit aa6cab8

Browse files
committed
limit test matrix to django 4.1
1 parent 0abc78d commit aa6cab8

File tree

4 files changed

+201
-420
lines changed

4 files changed

+201
-420
lines changed

.github/workflows/python-test.yml

-12
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,11 @@ jobs:
2323
max-parallel: 4
2424
matrix:
2525
tox_env:
26-
- py311-dj40-wt41
27-
- py311-dj40-wt50
28-
- py311-dj40-wt51
29-
- py311-dj40-wt52
3026
- py311-dj41-wt41
3127
- py311-dj41-wt50
3228
- py311-dj41-wt51
3329
- py311-dj41-wt52
3430
include:
35-
- python-version: "3.11"
36-
tox_env: py311-dj40-wt41
37-
- python-version: "3.11"
38-
tox_env: py311-dj40-wt50
39-
- python-version: "3.11"
40-
tox_env: py311-dj40-wt51
41-
- python-version: "3.11"
42-
tox_env: py311-dj40-wt52
4331
- python-version: "3.11"
4432
tox_env: py311-dj41-wt41
4533
- python-version: "3.11"

tests/blocks/test_form_block.py

+98-200
Original file line numberDiff line numberDiff line change
@@ -22,206 +22,104 @@ def test_render(self):
2222
)
2323
)
2424

25-
if settings.DJANGO_VERSION >= 40:
26-
expected_html = "\n".join(
27-
[
28-
"<h2>Basic Form</h2>",
29-
'<form action="." enctype="multipart/form-data" method="post" novalidate>',
30-
'<input type="hidden" name="hidden" id="id_hidden" />',
31-
'<input id="id_form_id" name="form_id" type="hidden" value="%s">'
32-
% self.form.pk,
33-
'<input id="id_form_reference" name="form_reference" type="hidden" value="some-ref">',
34-
'<div class="field-row">'
35-
'<label for="id_singleline">singleline</label>'
36-
'<input type="text" name="singleline" required id="id_singleline" />'
37-
'<p class="help-text">Help</p>'
38-
"</div>",
39-
'<div class="field-row">'
40-
'<label for="id_multiline">multiline</label>'
41-
'<textarea name="multiline" cols="40" rows="10" required id="id_multiline">'
42-
"</textarea>"
43-
'<p class="help-text">Help</p>'
44-
"</div>"
45-
'<div class="field-row">'
46-
'<label for="id_date">date</label>'
47-
'<input type="text" name="date" value="" required id="id_date" />'
48-
'<p class="help-text">Help</p>'
49-
"</div>"
50-
'<div class="field-row">'
51-
'<label for="id_datetime">datetime</label>'
52-
'<input type="text" name="datetime" value="" required id="id_datetime" />'
53-
'<p class="help-text">Help</p>'
54-
"</div>"
55-
'<div class="field-row">'
56-
'<label for="id_email">email</label>'
57-
'<input type="email" maxlength="320" name="email" required id="id_email" />'
58-
'<p class="help-text">Help</p>'
59-
"</div>"
60-
'<div class="field-row">'
61-
'<label for="id_url">url</label>'
62-
'<input type="url" name="url" required id="id_url" />'
63-
'<p class="help-text">Help</p>'
64-
"</div>"
65-
'<div class="field-row">'
66-
'<label for="id_number">number</label>'
67-
'<input type="number" name="number" step="any" required id="id_number" />'
68-
'<p class="help-text">Help</p>'
69-
"</div>"
70-
'<div class="field-row">'
71-
'<label for="id_dropdown">dropdown</label>'
72-
'<select name="dropdown" id="id_dropdown">'
73-
'<option value="Option 1">Option 1</option>'
74-
'<option value="Option 2">Option 2</option>'
75-
'<option value="Option 3">Option 3</option></select>'
76-
'<p class="help-text">Help</p>'
77-
"</div>"
78-
'<div class="field-row">'
79-
"<label>radio</label>"
80-
'<div id="id_radio">'
81-
'<div><label for="id_radio_0">'
82-
'<input type="radio" name="radio" value="Option 1" required id="id_radio_0" /> Option 1'
83-
"</label></div>"
84-
'<div><label for="id_radio_1">'
85-
'<input type="radio" name="radio" value="Option 2" required id="id_radio_1" /> Option 2'
86-
"</label></div>"
87-
'<div><label for="id_radio_2">'
88-
'<input type="radio" name="radio" value="Option 3" required id="id_radio_2" /> Option 3'
89-
"</label></div></div>"
90-
'<p class="help-text">Help</p>'
91-
"</div>"
92-
'<div class="field-row">'
93-
"<label>checkboxes</label>"
94-
'<div id="id_checkboxes">'
95-
'<div><label for="id_checkboxes_0">'
96-
'<input type="checkbox" name="checkboxes" value="Option 1" id="id_checkboxes_0" /> Option 1'
97-
"</label></div>"
98-
'<div><label for="id_checkboxes_1">'
99-
'<input type="checkbox" name="checkboxes" value="Option 2" id="id_checkboxes_1" /> Option 2'
100-
"</label></div>"
101-
'<div><label for="id_checkboxes_2">'
102-
'<input type="checkbox" name="checkboxes" value="Option 3" id="id_checkboxes_2" /> Option 3'
103-
"</label></div></div>"
104-
'<p class="help-text">Help</p>'
105-
"</div>"
106-
'<div class="field-row">'
107-
'<label for="id_checkbox">checkbox</label>'
108-
'<input type="checkbox" name="checkbox" required id="id_checkbox" />'
109-
'<p class="help-text">Help</p>'
110-
"</div>"
111-
'<div class="field-row">'
112-
'<label for="id_singlefile">singlefile</label>'
113-
'<input type="file" name="singlefile" required id="id_singlefile" />'
114-
'<p class="help-text">Help</p>'
115-
"</div>"
116-
'<div class="field-row">'
117-
'<label for="id_multifile">multifile</label>'
118-
'<input type="file" name="multifile" multiple required id="id_multifile" />'
119-
'<p class="help-text">Help</p>'
120-
"</div>"
121-
'<input type="submit" value="Submit">'
122-
"</form>",
123-
]
124-
)
125-
else:
126-
expected_html = "\n".join(
127-
[
128-
"<h2>Basic Form</h2>",
129-
'<form action="." enctype="multipart/form-data" method="post" novalidate>',
130-
'<input type="hidden" name="hidden" id="id_hidden" />',
131-
'<input id="id_form_id" name="form_id" type="hidden" value="%s">'
132-
% self.form.pk,
133-
'<input id="id_form_reference" name="form_reference" type="hidden" value="some-ref">',
134-
'<div class="field-row">'
135-
'<label for="id_singleline">singleline</label>'
136-
'<input type="text" name="singleline" required id="id_singleline" />'
137-
'<p class="help-text">Help</p>'
138-
"</div>",
139-
'<div class="field-row">'
140-
'<label for="id_multiline">multiline</label>'
141-
'<textarea name="multiline" cols="40" rows="10" required id="id_multiline">'
142-
"</textarea>"
143-
'<p class="help-text">Help</p>'
144-
"</div>"
145-
'<div class="field-row">'
146-
'<label for="id_date">date</label>'
147-
'<input type="text" name="date" value="" required id="id_date" />'
148-
'<p class="help-text">Help</p>'
149-
"</div>"
150-
'<div class="field-row">'
151-
'<label for="id_datetime">datetime</label>'
152-
'<input type="text" name="datetime" value="" required id="id_datetime" />'
153-
'<p class="help-text">Help</p>'
154-
"</div>"
155-
'<div class="field-row">'
156-
'<label for="id_email">email</label>'
157-
'<input type="email" maxlength="320" name="email" required id="id_email" />'
158-
'<p class="help-text">Help</p>'
159-
"</div>"
160-
'<div class="field-row">'
161-
'<label for="id_url">url</label>'
162-
'<input type="url" name="url" required id="id_url" />'
163-
'<p class="help-text">Help</p>'
164-
"</div>"
165-
'<div class="field-row">'
166-
'<label for="id_number">number</label>'
167-
'<input type="number" name="number" step="any" required id="id_number" />'
168-
'<p class="help-text">Help</p>'
169-
"</div>"
170-
'<div class="field-row">'
171-
'<label for="id_dropdown">dropdown</label>'
172-
'<select name="dropdown" id="id_dropdown">'
173-
'<option value="Option 1">Option 1</option>'
174-
'<option value="Option 2">Option 2</option>'
175-
'<option value="Option 3">Option 3</option></select>'
176-
'<p class="help-text">Help</p>'
177-
"</div>"
178-
'<div class="field-row">'
179-
'<label for="id_radio_0">radio</label>'
180-
'<ul id="id_radio">'
181-
'<li><label for="id_radio_0">'
182-
'<input type="radio" name="radio" value="Option 1" required id="id_radio_0" /> Option 1'
183-
"</label></li>"
184-
'<li><label for="id_radio_1">'
185-
'<input type="radio" name="radio" value="Option 2" required id="id_radio_1" /> Option 2'
186-
"</label></li>"
187-
'<li><label for="id_radio_2">'
188-
'<input type="radio" name="radio" value="Option 3" required id="id_radio_2" /> Option 3'
189-
"</label></li></ul>"
190-
'<p class="help-text">Help</p>'
191-
"</div>"
192-
'<div class="field-row">'
193-
"<label>checkboxes</label>"
194-
'<ul id="id_checkboxes">'
195-
'<li><label for="id_checkboxes_0">'
196-
'<input type="checkbox" name="checkboxes" value="Option 1" id="id_checkboxes_0" /> Option 1'
197-
"</label></li>"
198-
'<li><label for="id_checkboxes_1">'
199-
'<input type="checkbox" name="checkboxes" value="Option 2" id="id_checkboxes_1" /> Option 2'
200-
"</label></li>"
201-
'<li><label for="id_checkboxes_2">'
202-
'<input type="checkbox" name="checkboxes" value="Option 3" id="id_checkboxes_2" /> Option 3'
203-
"</label></li></ul>"
204-
'<p class="help-text">Help</p>'
205-
"</div>"
206-
'<div class="field-row">'
207-
'<label for="id_checkbox">checkbox</label>'
208-
'<input type="checkbox" name="checkbox" required id="id_checkbox" />'
209-
'<p class="help-text">Help</p>'
210-
"</div>"
211-
'<div class="field-row">'
212-
'<label for="id_singlefile">singlefile</label>'
213-
'<input type="file" name="singlefile" required id="id_singlefile" />'
214-
'<p class="help-text">Help</p>'
215-
"</div>"
216-
'<div class="field-row">'
217-
'<label for="id_multifile">multifile</label>'
218-
'<input type="file" name="multifile" multiple required id="id_multifile" />'
219-
'<p class="help-text">Help</p>'
220-
"</div>"
221-
'<input type="submit" value="Submit">'
222-
"</form>",
223-
]
224-
)
25+
expected_html = "\n".join(
26+
[
27+
"<h2>Basic Form</h2>",
28+
'<form action="." enctype="multipart/form-data" method="post" novalidate>',
29+
'<input type="hidden" name="hidden" id="id_hidden" />',
30+
'<input id="id_form_id" name="form_id" type="hidden" value="%s">' % self.form.pk,
31+
'<input id="id_form_reference" name="form_reference" type="hidden" value="some-ref">',
32+
'<div class="field-row">'
33+
'<label for="id_singleline">singleline</label>'
34+
'<input type="text" name="singleline" required id="id_singleline" />'
35+
'<p class="help-text">Help</p>'
36+
"</div>",
37+
'<div class="field-row">'
38+
'<label for="id_multiline">multiline</label>'
39+
'<textarea name="multiline" cols="40" rows="10" required id="id_multiline">'
40+
"</textarea>"
41+
'<p class="help-text">Help</p>'
42+
"</div>"
43+
'<div class="field-row">'
44+
'<label for="id_date">date</label>'
45+
'<input type="text" name="date" value="" required id="id_date" />'
46+
'<p class="help-text">Help</p>'
47+
"</div>"
48+
'<div class="field-row">'
49+
'<label for="id_datetime">datetime</label>'
50+
'<input type="text" name="datetime" value="" required id="id_datetime" />'
51+
'<p class="help-text">Help</p>'
52+
"</div>"
53+
'<div class="field-row">'
54+
'<label for="id_email">email</label>'
55+
'<input type="email" maxlength="320" name="email" required id="id_email" />'
56+
'<p class="help-text">Help</p>'
57+
"</div>"
58+
'<div class="field-row">'
59+
'<label for="id_url">url</label>'
60+
'<input type="url" name="url" required id="id_url" />'
61+
'<p class="help-text">Help</p>'
62+
"</div>"
63+
'<div class="field-row">'
64+
'<label for="id_number">number</label>'
65+
'<input type="number" name="number" step="any" required id="id_number" />'
66+
'<p class="help-text">Help</p>'
67+
"</div>"
68+
'<div class="field-row">'
69+
'<label for="id_dropdown">dropdown</label>'
70+
'<select name="dropdown" id="id_dropdown">'
71+
'<option value="Option 1">Option 1</option>'
72+
'<option value="Option 2">Option 2</option>'
73+
'<option value="Option 3">Option 3</option></select>'
74+
'<p class="help-text">Help</p>'
75+
"</div>"
76+
'<div class="field-row">'
77+
"<label>radio</label>"
78+
'<div id="id_radio">'
79+
'<div><label for="id_radio_0">'
80+
'<input type="radio" name="radio" value="Option 1" required id="id_radio_0" /> Option 1'
81+
"</label></div>"
82+
'<div><label for="id_radio_1">'
83+
'<input type="radio" name="radio" value="Option 2" required id="id_radio_1" /> Option 2'
84+
"</label></div>"
85+
'<div><label for="id_radio_2">'
86+
'<input type="radio" name="radio" value="Option 3" required id="id_radio_2" /> Option 3'
87+
"</label></div></div>"
88+
'<p class="help-text">Help</p>'
89+
"</div>"
90+
'<div class="field-row">'
91+
"<label>checkboxes</label>"
92+
'<div id="id_checkboxes">'
93+
'<div><label for="id_checkboxes_0">'
94+
'<input type="checkbox" name="checkboxes" value="Option 1" id="id_checkboxes_0" /> Option 1'
95+
"</label></div>"
96+
'<div><label for="id_checkboxes_1">'
97+
'<input type="checkbox" name="checkboxes" value="Option 2" id="id_checkboxes_1" /> Option 2'
98+
"</label></div>"
99+
'<div><label for="id_checkboxes_2">'
100+
'<input type="checkbox" name="checkboxes" value="Option 3" id="id_checkboxes_2" /> Option 3'
101+
"</label></div></div>"
102+
'<p class="help-text">Help</p>'
103+
"</div>"
104+
'<div class="field-row">'
105+
'<label for="id_checkbox">checkbox</label>'
106+
'<input type="checkbox" name="checkbox" required id="id_checkbox" />'
107+
'<p class="help-text">Help</p>'
108+
"</div>"
109+
'<div class="field-row">'
110+
'<label for="id_singlefile">singlefile</label>'
111+
'<input type="file" name="singlefile" required id="id_singlefile" />'
112+
'<p class="help-text">Help</p>'
113+
"</div>"
114+
'<div class="field-row">'
115+
'<label for="id_multifile">multifile</label>'
116+
'<input type="file" name="multifile" multiple required id="id_multifile" />'
117+
'<p class="help-text">Help</p>'
118+
"</div>"
119+
'<input type="submit" value="Submit">'
120+
"</form>",
121+
]
122+
)
225123

226124
self.assertHTMLEqual(html, expected_html)
227125

0 commit comments

Comments
 (0)