diff options
| author | django-bot <ops@djangoproject.com> | 2022-02-03 20:24:19 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-02-07 20:37:05 +0100 |
| commit | 9c19aff7c7561e3a82978a272ecdaad40dda5c00 (patch) | |
| tree | f0506b668a013d0063e5fba3dbf4863b466713ba /tests/forms_tests/field_tests/test_datefield.py | |
| parent | f68fa8b45dfac545cfc4111d4e52804c86db68d3 (diff) | |
Refs #33476 -- Reformatted code with Black.
Diffstat (limited to 'tests/forms_tests/field_tests/test_datefield.py')
| -rw-r--r-- | tests/forms_tests/field_tests/test_datefield.py | 183 |
1 files changed, 102 insertions, 81 deletions
diff --git a/tests/forms_tests/field_tests/test_datefield.py b/tests/forms_tests/field_tests/test_datefield.py index 10d77bf1bb..a9f93f40ed 100644 --- a/tests/forms_tests/field_tests/test_datefield.py +++ b/tests/forms_tests/field_tests/test_datefield.py @@ -11,174 +11,195 @@ class GetDate(Form): class DateFieldTest(SimpleTestCase): - def test_form_field(self): - a = GetDate({'mydate_month': '4', 'mydate_day': '1', 'mydate_year': '2008'}) + a = GetDate({"mydate_month": "4", "mydate_day": "1", "mydate_year": "2008"}) self.assertTrue(a.is_valid()) - self.assertEqual(a.cleaned_data['mydate'], date(2008, 4, 1)) + self.assertEqual(a.cleaned_data["mydate"], date(2008, 4, 1)) # As with any widget that implements get_value_from_datadict(), we must # accept the input from the "as_hidden" rendering as well. self.assertHTMLEqual( - a['mydate'].as_hidden(), + a["mydate"].as_hidden(), '<input type="hidden" name="mydate" value="2008-04-01" id="id_mydate">', ) - b = GetDate({'mydate': '2008-4-1'}) + b = GetDate({"mydate": "2008-4-1"}) self.assertTrue(b.is_valid()) - self.assertEqual(b.cleaned_data['mydate'], date(2008, 4, 1)) + self.assertEqual(b.cleaned_data["mydate"], date(2008, 4, 1)) # Invalid dates shouldn't be allowed - c = GetDate({'mydate_month': '2', 'mydate_day': '31', 'mydate_year': '2010'}) + c = GetDate({"mydate_month": "2", "mydate_day": "31", "mydate_year": "2010"}) self.assertFalse(c.is_valid()) - self.assertEqual(c.errors, {'mydate': ['Enter a valid date.']}) + self.assertEqual(c.errors, {"mydate": ["Enter a valid date."]}) # label tag is correctly associated with month dropdown - d = GetDate({'mydate_month': '1', 'mydate_day': '1', 'mydate_year': '2010'}) + d = GetDate({"mydate_month": "1", "mydate_day": "1", "mydate_year": "2010"}) self.assertIn('<label for="id_mydate_month">', d.as_p()) - @translation.override('nl') + @translation.override("nl") def test_l10n_date_changed(self): """ DateField.has_changed() with SelectDateWidget works with a localized date format (#17165). """ # With Field.show_hidden_initial=False - b = GetDate({ - 'mydate_year': '2008', - 'mydate_month': '4', - 'mydate_day': '1', - }, initial={'mydate': date(2008, 4, 1)}) + b = GetDate( + { + "mydate_year": "2008", + "mydate_month": "4", + "mydate_day": "1", + }, + initial={"mydate": date(2008, 4, 1)}, + ) self.assertFalse(b.has_changed()) - b = GetDate({ - 'mydate_year': '2008', - 'mydate_month': '4', - 'mydate_day': '2', - }, initial={'mydate': date(2008, 4, 1)}) + b = GetDate( + { + "mydate_year": "2008", + "mydate_month": "4", + "mydate_day": "2", + }, + initial={"mydate": date(2008, 4, 1)}, + ) self.assertTrue(b.has_changed()) # With Field.show_hidden_initial=True class GetDateShowHiddenInitial(Form): mydate = DateField(widget=SelectDateWidget, show_hidden_initial=True) - b = GetDateShowHiddenInitial({ - 'mydate_year': '2008', - 'mydate_month': '4', - 'mydate_day': '1', - 'initial-mydate': HiddenInput().format_value(date(2008, 4, 1)), - }, initial={'mydate': date(2008, 4, 1)}) + b = GetDateShowHiddenInitial( + { + "mydate_year": "2008", + "mydate_month": "4", + "mydate_day": "1", + "initial-mydate": HiddenInput().format_value(date(2008, 4, 1)), + }, + initial={"mydate": date(2008, 4, 1)}, + ) self.assertFalse(b.has_changed()) - b = GetDateShowHiddenInitial({ - 'mydate_year': '2008', - 'mydate_month': '4', - 'mydate_day': '22', - 'initial-mydate': HiddenInput().format_value(date(2008, 4, 1)), - }, initial={'mydate': date(2008, 4, 1)}) + b = GetDateShowHiddenInitial( + { + "mydate_year": "2008", + "mydate_month": "4", + "mydate_day": "22", + "initial-mydate": HiddenInput().format_value(date(2008, 4, 1)), + }, + initial={"mydate": date(2008, 4, 1)}, + ) self.assertTrue(b.has_changed()) - b = GetDateShowHiddenInitial({ - 'mydate_year': '2008', - 'mydate_month': '4', - 'mydate_day': '22', - 'initial-mydate': HiddenInput().format_value(date(2008, 4, 1)), - }, initial={'mydate': date(2008, 4, 22)}) + b = GetDateShowHiddenInitial( + { + "mydate_year": "2008", + "mydate_month": "4", + "mydate_day": "22", + "initial-mydate": HiddenInput().format_value(date(2008, 4, 1)), + }, + initial={"mydate": date(2008, 4, 22)}, + ) self.assertTrue(b.has_changed()) - b = GetDateShowHiddenInitial({ - 'mydate_year': '2008', - 'mydate_month': '4', - 'mydate_day': '22', - 'initial-mydate': HiddenInput().format_value(date(2008, 4, 22)), - }, initial={'mydate': date(2008, 4, 1)}) + b = GetDateShowHiddenInitial( + { + "mydate_year": "2008", + "mydate_month": "4", + "mydate_day": "22", + "initial-mydate": HiddenInput().format_value(date(2008, 4, 22)), + }, + initial={"mydate": date(2008, 4, 1)}, + ) self.assertFalse(b.has_changed()) - @translation.override('nl') + @translation.override("nl") def test_l10n_invalid_date_in(self): # Invalid dates shouldn't be allowed - a = GetDate({'mydate_month': '2', 'mydate_day': '31', 'mydate_year': '2010'}) + a = GetDate({"mydate_month": "2", "mydate_day": "31", "mydate_year": "2010"}) self.assertFalse(a.is_valid()) # 'Geef een geldige datum op.' = 'Enter a valid date.' - self.assertEqual(a.errors, {'mydate': ['Voer een geldige datum in.']}) + self.assertEqual(a.errors, {"mydate": ["Voer een geldige datum in."]}) - @translation.override('nl') + @translation.override("nl") def test_form_label_association(self): # label tag is correctly associated with first rendered dropdown - a = GetDate({'mydate_month': '1', 'mydate_day': '1', 'mydate_year': '2010'}) + a = GetDate({"mydate_month": "1", "mydate_day": "1", "mydate_year": "2010"}) self.assertIn('<label for="id_mydate_day">', a.as_p()) def test_datefield_1(self): f = DateField() self.assertEqual(date(2006, 10, 25), f.clean(date(2006, 10, 25))) self.assertEqual(date(2006, 10, 25), f.clean(datetime(2006, 10, 25, 14, 30))) - self.assertEqual(date(2006, 10, 25), f.clean(datetime(2006, 10, 25, 14, 30, 59))) - self.assertEqual(date(2006, 10, 25), f.clean(datetime(2006, 10, 25, 14, 30, 59, 200))) - self.assertEqual(date(2006, 10, 25), f.clean('2006-10-25')) - self.assertEqual(date(2006, 10, 25), f.clean('10/25/2006')) - self.assertEqual(date(2006, 10, 25), f.clean('10/25/06')) - self.assertEqual(date(2006, 10, 25), f.clean('Oct 25 2006')) - self.assertEqual(date(2006, 10, 25), f.clean('October 25 2006')) - self.assertEqual(date(2006, 10, 25), f.clean('October 25, 2006')) - self.assertEqual(date(2006, 10, 25), f.clean('25 October 2006')) - self.assertEqual(date(2006, 10, 25), f.clean('25 October, 2006')) + self.assertEqual( + date(2006, 10, 25), f.clean(datetime(2006, 10, 25, 14, 30, 59)) + ) + self.assertEqual( + date(2006, 10, 25), f.clean(datetime(2006, 10, 25, 14, 30, 59, 200)) + ) + self.assertEqual(date(2006, 10, 25), f.clean("2006-10-25")) + self.assertEqual(date(2006, 10, 25), f.clean("10/25/2006")) + self.assertEqual(date(2006, 10, 25), f.clean("10/25/06")) + self.assertEqual(date(2006, 10, 25), f.clean("Oct 25 2006")) + self.assertEqual(date(2006, 10, 25), f.clean("October 25 2006")) + self.assertEqual(date(2006, 10, 25), f.clean("October 25, 2006")) + self.assertEqual(date(2006, 10, 25), f.clean("25 October 2006")) + self.assertEqual(date(2006, 10, 25), f.clean("25 October, 2006")) with self.assertRaisesMessage(ValidationError, "'Enter a valid date.'"): - f.clean('2006-4-31') + f.clean("2006-4-31") with self.assertRaisesMessage(ValidationError, "'Enter a valid date.'"): - f.clean('200a-10-25') + f.clean("200a-10-25") with self.assertRaisesMessage(ValidationError, "'Enter a valid date.'"): - f.clean('25/10/06') + f.clean("25/10/06") with self.assertRaisesMessage(ValidationError, "'This field is required.'"): f.clean(None) def test_datefield_2(self): f = DateField(required=False) self.assertIsNone(f.clean(None)) - self.assertEqual('None', repr(f.clean(None))) - self.assertIsNone(f.clean('')) - self.assertEqual('None', repr(f.clean(''))) + self.assertEqual("None", repr(f.clean(None))) + self.assertIsNone(f.clean("")) + self.assertEqual("None", repr(f.clean(""))) def test_datefield_3(self): - f = DateField(input_formats=['%Y %m %d']) + f = DateField(input_formats=["%Y %m %d"]) self.assertEqual(date(2006, 10, 25), f.clean(date(2006, 10, 25))) self.assertEqual(date(2006, 10, 25), f.clean(datetime(2006, 10, 25, 14, 30))) - self.assertEqual(date(2006, 10, 25), f.clean('2006 10 25')) + self.assertEqual(date(2006, 10, 25), f.clean("2006 10 25")) with self.assertRaisesMessage(ValidationError, "'Enter a valid date.'"): - f.clean('2006-10-25') + f.clean("2006-10-25") with self.assertRaisesMessage(ValidationError, "'Enter a valid date.'"): - f.clean('10/25/2006') + f.clean("10/25/2006") with self.assertRaisesMessage(ValidationError, "'Enter a valid date.'"): - f.clean('10/25/06') + f.clean("10/25/06") def test_datefield_4(self): # Test whitespace stripping behavior (#5714) f = DateField() - self.assertEqual(date(2006, 10, 25), f.clean(' 10/25/2006 ')) - self.assertEqual(date(2006, 10, 25), f.clean(' 10/25/06 ')) - self.assertEqual(date(2006, 10, 25), f.clean(' Oct 25 2006 ')) - self.assertEqual(date(2006, 10, 25), f.clean(' October 25 2006 ')) - self.assertEqual(date(2006, 10, 25), f.clean(' October 25, 2006 ')) - self.assertEqual(date(2006, 10, 25), f.clean(' 25 October 2006 ')) + self.assertEqual(date(2006, 10, 25), f.clean(" 10/25/2006 ")) + self.assertEqual(date(2006, 10, 25), f.clean(" 10/25/06 ")) + self.assertEqual(date(2006, 10, 25), f.clean(" Oct 25 2006 ")) + self.assertEqual(date(2006, 10, 25), f.clean(" October 25 2006 ")) + self.assertEqual(date(2006, 10, 25), f.clean(" October 25, 2006 ")) + self.assertEqual(date(2006, 10, 25), f.clean(" 25 October 2006 ")) with self.assertRaisesMessage(ValidationError, "'Enter a valid date.'"): - f.clean(' ') + f.clean(" ") def test_datefield_5(self): # Test null bytes (#18982) f = DateField() with self.assertRaisesMessage(ValidationError, "'Enter a valid date.'"): - f.clean('a\x00b') + f.clean("a\x00b") def test_datefield_changed(self): - format = '%d/%m/%Y' + format = "%d/%m/%Y" f = DateField(input_formats=[format]) d = date(2007, 9, 17) - self.assertFalse(f.has_changed(d, '17/09/2007')) + self.assertFalse(f.has_changed(d, "17/09/2007")) def test_datefield_strptime(self): """field.strptime() doesn't raise a UnicodeEncodeError (#16123)""" f = DateField() try: - f.strptime('31 мая 2011', '%d-%b-%y') + f.strptime("31 мая 2011", "%d-%b-%y") except Exception as e: # assertIsInstance or assertRaises cannot be used because UnicodeEncodeError # is a subclass of ValueError |
