1
0
mirror of https://github.com/django/django.git synced 2024-12-29 12:36:08 +00:00
django/tests/forms_tests/widget_tests/test_timeinput.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

83 lines
2.3 KiB
Python
Raw Normal View History

from datetime import time
from django.forms import CharField, Form, TimeInput
from django.utils import translation
from .base import WidgetTest
class TimeInputTest(WidgetTest):
widget = TimeInput()
def test_render_none(self):
self.check_html(
self.widget, "time", None, html='<input type="text" name="time">'
)
def test_render_value(self):
"""
The microseconds are trimmed on display, by default.
"""
t = time(12, 51, 34, 482548)
self.assertEqual(str(t), "12:51:34.482548")
self.check_html(
self.widget,
"time",
t,
html='<input type="text" name="time" value="12:51:34">',
)
self.check_html(
self.widget,
"time",
time(12, 51, 34),
html=('<input type="text" name="time" value="12:51:34">'),
)
self.check_html(
self.widget,
"time",
time(12, 51),
html=('<input type="text" name="time" value="12:51:00">'),
)
def test_string(self):
"""Initializing from a string value."""
self.check_html(
self.widget,
"time",
"13:12:11",
html=('<input type="text" name="time" value="13:12:11">'),
)
def test_format(self):
"""
Use 'format' to change the way a value is displayed.
"""
t = time(12, 51, 34, 482548)
widget = TimeInput(format="%H:%M", attrs={"type": "time"})
self.check_html(
widget, "time", t, html='<input type="time" name="time" value="12:51">'
)
@translation.override("de-at")
def test_l10n(self):
t = time(12, 51, 34, 482548)
self.check_html(
self.widget,
"time",
t,
html='<input type="text" name="time" value="12:51:34">',
)
def test_fieldset(self):
class TestForm(Form):
template_name = "forms_tests/use_fieldset.html"
field = CharField(widget=self.widget)
form = TestForm()
self.assertIs(self.widget.use_fieldset, False)
self.assertHTMLEqual(
'<div><label for="id_field">Field:</label>'
'<input id="id_field" name="field" required type="text"></div>',
form.render(),
)