diff options
| author | Basil Dubyk <samitnuk.work@gmail.com> | 2018-11-14 20:43:34 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2018-11-14 13:43:34 -0500 |
| commit | 35a08b8541c856a51b2ab718e0a2fe060debfa2a (patch) | |
| tree | 8015438dae30388b295f4aac89aee98b6dd3edbe /tests | |
| parent | ca2856fb6297378c40622521d21539097c28eb0b (diff) | |
Fixed #17210 -- Made NullBooleanSelect use unknown/true/false as query data.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/forms_tests/tests/test_forms.py | 72 | ||||
| -rw-r--r-- | tests/forms_tests/widget_tests/test_nullbooleanselect.py | 77 |
2 files changed, 106 insertions, 43 deletions
diff --git a/tests/forms_tests/tests/test_forms.py b/tests/forms_tests/tests/test_forms.py index ba233e72ff..bad24b5230 100644 --- a/tests/forms_tests/tests/test_forms.py +++ b/tests/forms_tests/tests/test_forms.py @@ -2356,39 +2356,57 @@ Password: <input type="password" name="password" required> p = Person({'name': 'Joe'}, auto_id=False) self.assertHTMLEqual(str(p['is_cool']), """<select name="is_cool"> -<option value="1" selected>Unknown</option> -<option value="2">Yes</option> -<option value="3">No</option> +<option value="unknown" selected>Unknown</option> +<option value="true">Yes</option> +<option value="false">No</option> </select>""") p = Person({'name': 'Joe', 'is_cool': '1'}, auto_id=False) self.assertHTMLEqual(str(p['is_cool']), """<select name="is_cool"> -<option value="1" selected>Unknown</option> -<option value="2">Yes</option> -<option value="3">No</option> +<option value="unknown" selected>Unknown</option> +<option value="true">Yes</option> +<option value="false">No</option> </select>""") p = Person({'name': 'Joe', 'is_cool': '2'}, auto_id=False) self.assertHTMLEqual(str(p['is_cool']), """<select name="is_cool"> -<option value="1">Unknown</option> -<option value="2" selected>Yes</option> -<option value="3">No</option> +<option value="unknown">Unknown</option> +<option value="true" selected>Yes</option> +<option value="false">No</option> </select>""") p = Person({'name': 'Joe', 'is_cool': '3'}, auto_id=False) self.assertHTMLEqual(str(p['is_cool']), """<select name="is_cool"> -<option value="1">Unknown</option> -<option value="2">Yes</option> -<option value="3" selected>No</option> +<option value="unknown">Unknown</option> +<option value="true">Yes</option> +<option value="false" selected>No</option> </select>""") p = Person({'name': 'Joe', 'is_cool': True}, auto_id=False) self.assertHTMLEqual(str(p['is_cool']), """<select name="is_cool"> -<option value="1">Unknown</option> -<option value="2" selected>Yes</option> -<option value="3">No</option> +<option value="unknown">Unknown</option> +<option value="true" selected>Yes</option> +<option value="false">No</option> </select>""") p = Person({'name': 'Joe', 'is_cool': False}, auto_id=False) self.assertHTMLEqual(str(p['is_cool']), """<select name="is_cool"> -<option value="1">Unknown</option> -<option value="2">Yes</option> -<option value="3" selected>No</option> +<option value="unknown">Unknown</option> +<option value="true">Yes</option> +<option value="false" selected>No</option> +</select>""") + p = Person({'name': 'Joe', 'is_cool': 'unknown'}, auto_id=False) + self.assertHTMLEqual(str(p['is_cool']), """<select name="is_cool"> +<option value="unknown" selected>Unknown</option> +<option value="true">Yes</option> +<option value="false">No</option> +</select>""") + p = Person({'name': 'Joe', 'is_cool': 'true'}, auto_id=False) + self.assertHTMLEqual(str(p['is_cool']), """<select name="is_cool"> +<option value="unknown">Unknown</option> +<option value="true" selected>Yes</option> +<option value="false">No</option> +</select>""") + p = Person({'name': 'Joe', 'is_cool': 'false'}, auto_id=False) + self.assertHTMLEqual(str(p['is_cool']), """<select name="is_cool"> +<option value="unknown">Unknown</option> +<option value="true">Yes</option> +<option value="false" selected>No</option> </select>""") def test_forms_with_file_fields(self): @@ -2758,9 +2776,9 @@ Good luck picking a username that doesn't already exist.</p> <label class="required" for="id_name">Name:</label> <input type="text" name="name" id="id_name" required></li> <li class="required"><label class="required" for="id_is_cool">Is cool:</label> <select name="is_cool" id="id_is_cool"> -<option value="1" selected>Unknown</option> -<option value="2">Yes</option> -<option value="3">No</option> +<option value="unknown" selected>Unknown</option> +<option value="true">Yes</option> +<option value="false">No</option> </select></li> <li><label for="id_email">Email:</label> <input type="email" name="email" id="id_email"></li> <li class="required error"><ul class="errorlist"><li>This field is required.</li></ul> @@ -2774,9 +2792,9 @@ Good luck picking a username that doesn't already exist.</p> <input type="text" name="name" id="id_name" required></p> <p class="required"><label class="required" for="id_is_cool">Is cool:</label> <select name="is_cool" id="id_is_cool"> -<option value="1" selected>Unknown</option> -<option value="2">Yes</option> -<option value="3">No</option> +<option value="unknown" selected>Unknown</option> +<option value="true">Yes</option> +<option value="false">No</option> </select></p> <p><label for="id_email">Email:</label> <input type="email" name="email" id="id_email"></p> <ul class="errorlist"><li>This field is required.</li></ul> @@ -2792,9 +2810,9 @@ Good luck picking a username that doesn't already exist.</p> <input type="text" name="name" id="id_name" required></td></tr> <tr class="required"><th><label class="required" for="id_is_cool">Is cool:</label></th> <td><select name="is_cool" id="id_is_cool"> -<option value="1" selected>Unknown</option> -<option value="2">Yes</option> -<option value="3">No</option> +<option value="unknown" selected>Unknown</option> +<option value="true">Yes</option> +<option value="false">No</option> </select></td></tr> <tr><th><label for="id_email">Email:</label></th><td> <input type="email" name="email" id="id_email"></td></tr> diff --git a/tests/forms_tests/widget_tests/test_nullbooleanselect.py b/tests/forms_tests/widget_tests/test_nullbooleanselect.py index 779a88893f..a732e86da4 100644 --- a/tests/forms_tests/widget_tests/test_nullbooleanselect.py +++ b/tests/forms_tests/widget_tests/test_nullbooleanselect.py @@ -11,36 +11,81 @@ class NullBooleanSelectTest(WidgetTest): def test_render_true(self): self.check_html(self.widget, 'is_cool', True, html=( """<select name="is_cool"> - <option value="1">Unknown</option> - <option value="2" selected>Yes</option> - <option value="3">No</option> + <option value="unknown">Unknown</option> + <option value="true" selected>Yes</option> + <option value="false">No</option> </select>""" )) def test_render_false(self): self.check_html(self.widget, 'is_cool', False, html=( """<select name="is_cool"> - <option value="1">Unknown</option> - <option value="2">Yes</option> - <option value="3" selected>No</option> + <option value="unknown">Unknown</option> + <option value="true">Yes</option> + <option value="false" selected>No</option> </select>""" )) def test_render_none(self): self.check_html(self.widget, 'is_cool', None, html=( """<select name="is_cool"> - <option value="1" selected>Unknown</option> - <option value="2">Yes</option> - <option value="3">No</option> + <option value="unknown" selected>Unknown</option> + <option value="true">Yes</option> + <option value="false">No</option> </select>""" )) - def test_render_value(self): + def test_render_value_unknown(self): + self.check_html(self.widget, 'is_cool', 'unknown', html=( + """<select name="is_cool"> + <option value="unknown" selected>Unknown</option> + <option value="true">Yes</option> + <option value="false">No</option> + </select>""" + )) + + def test_render_value_true(self): + self.check_html(self.widget, 'is_cool', 'true', html=( + """<select name="is_cool"> + <option value="unknown">Unknown</option> + <option value="true" selected>Yes</option> + <option value="false">No</option> + </select>""" + )) + + def test_render_value_false(self): + self.check_html(self.widget, 'is_cool', 'false', html=( + """<select name="is_cool"> + <option value="unknown">Unknown</option> + <option value="true">Yes</option> + <option value="false" selected>No</option> + </select>""" + )) + + def test_render_value_1(self): + self.check_html(self.widget, 'is_cool', '1', html=( + """<select name="is_cool"> + <option value="unknown" selected>Unknown</option> + <option value="true">Yes</option> + <option value="false">No</option> + </select>""" + )) + + def test_render_value_2(self): self.check_html(self.widget, 'is_cool', '2', html=( """<select name="is_cool"> - <option value="1">Unknown</option> - <option value="2" selected>Yes</option> - <option value="3">No</option> + <option value="unknown">Unknown</option> + <option value="true" selected>Yes</option> + <option value="false">No</option> + </select>""" + )) + + def test_render_value_3(self): + self.check_html(self.widget, 'is_cool', '3', html=( + """<select name="is_cool"> + <option value="unknown">Unknown</option> + <option value="true">Yes</option> + <option value="false" selected>No</option> </select>""" )) @@ -55,9 +100,9 @@ class NullBooleanSelectTest(WidgetTest): self.check_html(widget, 'id_bool', True, html=( """ <select name="id_bool"> - <option value="1">Unbekannt</option> - <option value="2" selected>Ja</option> - <option value="3">Nein</option> + <option value="unknown">Unbekannt</option> + <option value="true" selected>Ja</option> + <option value="false">Nein</option> </select> """ )) |
