summaryrefslogtreecommitdiff
path: root/tests/regressiontests/forms
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2011-05-01 16:14:57 +0000
committerJannis Leidel <jannis@leidel.info>2011-05-01 16:14:57 +0000
commitda3aa22d04d6452f87abbb1a0fee8a90a61eff5b (patch)
treec07b2314b514147845fe00a2b2f440d7f280c982 /tests/regressiontests/forms
parent980455969eca41494ce997ccbcef44e4670a38b4 (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.py30
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):