diff options
| author | gyx1000 <guillaume.pannatier@gmail.com> | 2014-05-29 17:15:01 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2014-06-04 07:23:25 -0400 |
| commit | 7e2c87809ca601b7290203dd54ba3e9f90a702bd (patch) | |
| tree | 4ff365eda374b2c939ce88769e54f04f297e85c5 /tests | |
| parent | fb9d8f06520f495d0c36236f7534dbe660c7e164 (diff) | |
Fixed #22684 -- Amended SelectDateWidget.empty_label to accept a tuple of values.
Thanks danielsamuels for the report
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/forms_tests/tests/test_extra.py | 71 |
1 files changed, 66 insertions, 5 deletions
diff --git a/tests/forms_tests/tests/test_extra.py b/tests/forms_tests/tests/test_extra.py index 499db79014..3f6208fade 100644 --- a/tests/forms_tests/tests/test_extra.py +++ b/tests/forms_tests/tests/test_extra.py @@ -297,11 +297,6 @@ class FormsExtraTestCase(TestCase, AssertFormErrorsMixin): <option value="2013">2013</option> </select>""") - w = SelectDateWidget(years=('2014',), empty_label='empty_label') - - # Rendering the default state with empty_label setted. - self.assertInHTML('<option value="0">empty_label</option>', w.render('mydate', ''), count=3) - a = GetDate({'mydate_month': '4', 'mydate_day': '1', 'mydate_year': '2008'}) self.assertTrue(a.is_valid()) self.assertEqual(a.cleaned_data['mydate'], datetime.date(2008, 4, 1)) @@ -325,6 +320,72 @@ class FormsExtraTestCase(TestCase, AssertFormErrorsMixin): d = GetDate({'mydate_month': '1', 'mydate_day': '1', 'mydate_year': '2010'}) self.assertTrue('<label for="id_mydate_month">' in d.as_p()) + def test_selectdate_empty_label(self): + w = SelectDateWidget(years=('2014',), empty_label='empty_label') + + # Rendering the default state with empty_label setted as string. + self.assertInHTML('<option value="0">empty_label</option>', w.render('mydate', ''), count=3) + + w = SelectDateWidget(years=('2014',), empty_label=('empty_year', 'empty_month', 'empty_day')) + + # Rendering the default state with empty_label tuple. + self.assertHTMLEqual(w.render('mydate', ''), """<select name="mydate_month" id="id_mydate_month"> +<option value="0">empty_month</option> +<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="mydate_day" id="id_mydate_day"> +<option value="0">empty_day</option> +<option value="1">1</option> +<option value="2">2</option> +<option value="3">3</option> +<option value="4">4</option> +<option value="5">5</option> +<option value="6">6</option> +<option value="7">7</option> +<option value="8">8</option> +<option value="9">9</option> +<option value="10">10</option> +<option value="11">11</option> +<option value="12">12</option> +<option value="13">13</option> +<option value="14">14</option> +<option value="15">15</option> +<option value="16">16</option> +<option value="17">17</option> +<option value="18">18</option> +<option value="19">19</option> +<option value="20">20</option> +<option value="21">21</option> +<option value="22">22</option> +<option value="23">23</option> +<option value="24">24</option> +<option value="25">25</option> +<option value="26">26</option> +<option value="27">27</option> +<option value="28">28</option> +<option value="29">29</option> +<option value="30">30</option> +<option value="31">31</option> +</select> +<select name="mydate_year" id="id_mydate_year"> +<option value="0">empty_year</option> +<option value="2014">2014</option> +</select>""") + + self.assertRaisesMessage(ValueError, 'empty_label list/tuple must have 3 elements.', + SelectDateWidget, years=('2014',), empty_label=('not enough', 'values')) + def test_multiwidget(self): # MultiWidget and MultiValueField ############################################# # MultiWidgets are widgets composed of other widgets. They are usually |
