diff options
| author | Hasan Ramezani <hasan.r67@gmail.com> | 2019-05-05 01:26:37 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2019-05-08 12:46:30 +0200 |
| commit | f038214d917c982613f5a15db8dfe325b1f7479b (patch) | |
| tree | 18568b95d012b8466d1a498f594d2dcfd65bb229 /tests/forms_tests/widget_tests/test_selectdatewidget.py | |
| parent | ef9f2eb69c9396683cefa742bc7d0a0792090e8d (diff) | |
Fixed #29056 -- Fixed HTML5 validation of required SelectDateWidget.
placeholder is required for "select" with "required" attribute.
Diffstat (limited to 'tests/forms_tests/widget_tests/test_selectdatewidget.py')
| -rw-r--r-- | tests/forms_tests/widget_tests/test_selectdatewidget.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/forms_tests/widget_tests/test_selectdatewidget.py b/tests/forms_tests/widget_tests/test_selectdatewidget.py index f9921af5f9..00d3d8a7f2 100644 --- a/tests/forms_tests/widget_tests/test_selectdatewidget.py +++ b/tests/forms_tests/widget_tests/test_selectdatewidget.py @@ -314,6 +314,46 @@ class SelectDateWidgetTest(WidgetTest): self.assertFalse(GetNotRequiredDate().fields['mydate'].widget.is_required) self.assertTrue(GetRequiredDate().fields['mydate'].widget.is_required) + def test_selectdate_required_placeholder(self): + for required in (True, False): + field = DateField(widget=SelectDateWidget(years=('2018', '2019')), required=required) + self.check_html(field.widget, 'my_date', '', html=( + """ + <select name="my_date_month" id="id_my_date_month" %(m_placeholder)s> + %(empty)s + <option value="1">January</option> + <option value="2">February</option> + <option value="3">March</option> + <option value="4">April</option> + <option value="5">May</option> + <option value="6">June</option> + <option value="7">July</option> + <option value="8">August</option> + <option value="9">September</option> + <option value="10">October</option> + <option value="11">November</option> + <option value="12">December</option> + </select> + <select name="my_date_day" id="id_my_date_day" %(d_placeholder)s> + %(empty)s + %(days_options)s + </select> + <select name="my_date_year" id="id_my_date_year" %(y_placeholder)s> + %(empty)s + <option value="2018">2018</option> + <option value="2019">2019</option> + </select> + """ % { + 'days_options': '\n'.join( + '<option value="%s">%s</option>' % (i, i) for i in range(1, 32) + ), + 'm_placeholder': 'placeholder="Month"' if required else '', + 'd_placeholder': 'placeholder="Day"' if required else '', + 'y_placeholder': 'placeholder="Year"' if required else '', + 'empty': '' if required else '<option selected value="">---</option>', + } + )) + def test_selectdate_empty_label(self): w = SelectDateWidget(years=('2014',), empty_label='empty_label') |
