diff options
| author | Jannis Leidel <jannis@leidel.info> | 2011-05-01 16:14:57 +0000 |
|---|---|---|
| committer | Jannis Leidel <jannis@leidel.info> | 2011-05-01 16:14:57 +0000 |
| commit | da3aa22d04d6452f87abbb1a0fee8a90a61eff5b (patch) | |
| tree | c07b2314b514147845fe00a2b2f440d7f280c982 /tests/regressiontests/forms | |
| parent | 980455969eca41494ce997ccbcef44e4670a38b4 (diff) | |
Fixed #5714 -- Strip whitespaces around date and time form field values before converting it to a native type. Thanks to SmileyChris for the initial patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16137 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/forms')
| -rw-r--r-- | tests/regressiontests/forms/tests/fields.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/regressiontests/forms/tests/fields.py b/tests/regressiontests/forms/tests/fields.py index f5bb4637fd..59c761c76d 100644 --- a/tests/regressiontests/forms/tests/fields.py +++ b/tests/regressiontests/forms/tests/fields.py @@ -334,6 +334,17 @@ class FieldsTests(TestCase): self.assertRaisesErrorWithMessage(ValidationError, "[u'Enter a valid date.']", f.clean, '10/25/2006') self.assertRaisesErrorWithMessage(ValidationError, "[u'Enter a valid date.']", f.clean, '10/25/06') + def test_datefield_4(self): + # Test whitespace stripping behavior (#5714) + f = DateField() + self.assertEqual(datetime.date(2006, 10, 25), f.clean(' 10/25/2006 ')) + self.assertEqual(datetime.date(2006, 10, 25), f.clean(' 10/25/06 ')) + self.assertEqual(datetime.date(2006, 10, 25), f.clean(' Oct 25 2006 ')) + self.assertEqual(datetime.date(2006, 10, 25), f.clean(' October 25 2006 ')) + self.assertEqual(datetime.date(2006, 10, 25), f.clean(' October 25, 2006 ')) + self.assertEqual(datetime.date(2006, 10, 25), f.clean(' 25 October 2006 ')) + self.assertRaisesErrorWithMessage(ValidationError, "[u'Enter a valid date.']", f.clean, ' ') + # TimeField ################################################################### def test_timefield_1(self): @@ -353,6 +364,13 @@ class FieldsTests(TestCase): self.assertEqual(datetime.time(16, 25), f.clean('4:25 PM')) self.assertRaisesErrorWithMessage(ValidationError, "[u'Enter a valid time.']", f.clean, '14:30:45') + def test_timefield_3(self): + f = TimeField() + # Test whitespace stripping behavior (#5714) + self.assertEqual(datetime.time(14, 25), f.clean(' 14:25 ')) + self.assertEqual(datetime.time(14, 25, 59), f.clean(' 14:25:59 ')) + self.assertRaisesErrorWithMessage(ValidationError, "[u'Enter a valid time.']", f.clean, ' ') + # DateTimeField ############################################################### def test_datetimefield_1(self): @@ -392,6 +410,18 @@ class FieldsTests(TestCase): self.assertEqual(None, f.clean('')) self.assertEqual('None', repr(f.clean(''))) + def test_datetimefield_4(self): + f = DateTimeField() + # Test whitespace stripping behavior (#5714) + self.assertEqual(datetime.datetime(2006, 10, 25, 14, 30, 45), f.clean(' 2006-10-25 14:30:45 ')) + self.assertEqual(datetime.datetime(2006, 10, 25, 0, 0), f.clean(' 2006-10-25 ')) + self.assertEqual(datetime.datetime(2006, 10, 25, 14, 30, 45), f.clean(' 10/25/2006 14:30:45 ')) + self.assertEqual(datetime.datetime(2006, 10, 25, 14, 30), f.clean(' 10/25/2006 14:30 ')) + self.assertEqual(datetime.datetime(2006, 10, 25, 0, 0), f.clean(' 10/25/2006 ')) + self.assertEqual(datetime.datetime(2006, 10, 25, 14, 30, 45), f.clean(' 10/25/06 14:30:45 ')) + self.assertEqual(datetime.datetime(2006, 10, 25, 0, 0), f.clean(' 10/25/06 ')) + self.assertRaisesErrorWithMessage(ValidationError, "[u'Enter a valid date/time.']", f.clean, ' ') + # RegexField ################################################################## def test_regexfield_1(self): |
