summaryrefslogtreecommitdiff
path: root/tests/forms_tests/widget_tests/test_multiwidget.py
diff options
context:
space:
mode:
authorDavid <smithdc@gmail.com>2022-01-13 23:08:38 +0000
committerCarlton Gibson <carlton@noumenal.es>2022-03-30 16:28:14 +0200
commitc8459708a7e0a2474255b77d0f104a7f16e8b32c (patch)
treeadd60b1d21cfaa37e51c116348054e71c91f73a1 /tests/forms_tests/widget_tests/test_multiwidget.py
parent04ad0f26ba4b8c79dc311e1789457e0c4d1b8832 (diff)
Refs #32339 -- Added use_fieldset to Widget.
Diffstat (limited to 'tests/forms_tests/widget_tests/test_multiwidget.py')
-rw-r--r--tests/forms_tests/widget_tests/test_multiwidget.py24
1 files changed, 23 insertions, 1 deletions
diff --git a/tests/forms_tests/widget_tests/test_multiwidget.py b/tests/forms_tests/widget_tests/test_multiwidget.py
index a89082c4a6..aac859a4b8 100644
--- a/tests/forms_tests/widget_tests/test_multiwidget.py
+++ b/tests/forms_tests/widget_tests/test_multiwidget.py
@@ -4,6 +4,7 @@ from datetime import datetime
from django.forms import (
CharField,
FileInput,
+ Form,
MultipleChoiceField,
MultiValueField,
MultiWidget,
@@ -51,7 +52,9 @@ class ComplexField(MultiValueField):
MultipleChoiceField(choices=WidgetTest.beatles),
SplitDateTimeField(),
)
- super().__init__(fields, required, widget, label, initial)
+ super().__init__(
+ fields, required=required, widget=widget, label=label, initial=initial
+ )
def compress(self, data_list):
if data_list:
@@ -296,3 +299,22 @@ class MultiWidgetTest(WidgetTest):
# w2 ought to be independent of w1, since MultiWidget ought
# to make a copy of its sub-widgets when it is copied.
self.assertEqual(w1.choices, [1, 2, 3])
+
+ def test_fieldset(self):
+ class TestForm(Form):
+ template_name = "forms_tests/use_fieldset.html"
+ field = ComplexField(widget=ComplexMultiWidget)
+
+ form = TestForm()
+ self.assertIs(form["field"].field.widget.use_fieldset, True)
+ self.assertHTMLEqual(
+ "<div><fieldset><legend>Field:</legend>"
+ '<input type="text" name="field_0" required id="id_field_0">'
+ '<select name="field_1" required id="id_field_1" multiple>'
+ '<option value="J">John</option><option value="P">Paul</option>'
+ '<option value="G">George</option><option value="R">Ringo</option></select>'
+ '<input type="text" name="field_2_0" required id="id_field_2_0">'
+ '<input type="text" name="field_2_1" required id="id_field_2_1">'
+ "</fieldset></div>",
+ form.render(),
+ )