Fixed #30578 - Made SelectDateWidget respect a custom date format when USE_L10N is disabled.

This commit is contained in:
Shubham Bhagat 2019-06-21 01:16:58 +05:30 committed by Mariusz Felisiak
parent a289e79679
commit 26d16c07fd
3 changed files with 26 additions and 14 deletions

View file

@ -22,7 +22,7 @@ class DateFieldTest(SimpleTestCase):
# accept the input from the "as_hidden" rendering as well.
self.assertHTMLEqual(
a['mydate'].as_hidden(),
'<input type="hidden" name="mydate" value="2008-4-1" id="id_mydate">',
'<input type="hidden" name="mydate" value="2008-04-01" id="id_mydate">',
)
b = GetDate({'mydate': '2008-4-1'})

View file

@ -524,6 +524,21 @@ class SelectDateWidgetTest(WidgetTest):
'13-08-0001',
)
@override_settings(USE_L10N=False, DATE_INPUT_FORMATS=['%d.%m.%Y'])
def test_custom_input_format(self):
w = SelectDateWidget(years=('0001', '1899', '2009', '2010'))
for values, expected in (
(('0001', '8', '13'), '13.08.0001'),
(('1899', '7', '11'), '11.07.1899'),
(('2009', '3', '7'), '07.03.2009'),
):
with self.subTest(values=values):
data = {
'field_%s' % field: value
for field, value in zip(('year', 'month', 'day'), values)
}
self.assertEqual(w.value_from_datadict(data, {}, 'field'), expected)
def test_format_value(self):
valid_formats = [
'2000-1-1', '2000-10-15', '2000-01-01',
@ -545,7 +560,7 @@ class SelectDateWidgetTest(WidgetTest):
def test_value_from_datadict(self):
tests = [
(('2000', '12', '1'), '2000-12-1'),
(('2000', '12', '1'), '2000-12-01'),
(('', '12', '1'), '0-12-1'),
(('2000', '', '1'), '2000-0-1'),
(('2000', '12', ''), '2000-12-0'),