from datetime import date from django.forms import DateInput from django.utils import translation from .base import WidgetTest class DateInputTest(WidgetTest): widget = DateInput() def test_render_none(self): self.check_html( self.widget, "date", None, html='' ) def test_render_value(self): d = date(2007, 9, 17) self.assertEqual(str(d), "2007-09-17") self.check_html( self.widget, "date", d, html='', ) self.check_html( self.widget, "date", date(2007, 9, 17), html=(''), ) def test_string(self): """ Should be able to initialize from a string value. """ self.check_html( self.widget, "date", "2007-09-17", html=(''), ) def test_format(self): """ Use 'format' to change the way a value is displayed. """ d = date(2007, 9, 17) widget = DateInput(format="%d/%m/%Y", attrs={"type": "date"}) self.check_html( widget, "date", d, html='' ) @translation.override("de-at") def test_l10n(self): self.check_html( self.widget, "date", date(2007, 9, 17), html='', )