diff options
| author | Ramiro Morales <cramm0@gmail.com> | 2011-02-04 23:46:30 +0000 |
|---|---|---|
| committer | Ramiro Morales <cramm0@gmail.com> | 2011-02-04 23:46:30 +0000 |
| commit | 2d7049c4ee45e8d4820cdf8106a41a9f4a8331da (patch) | |
| tree | bb5cbbba5fda3e34c4599b61b54ddecf5983d585 /tests/regressiontests/forms | |
| parent | 0ffa39f744d339756b4743d240f32430b7c35cd4 (diff) | |
Fixed #13968 -- Fixed SelectDateWidget processing of an invalid date input value when USE_L10N is on, for consistency with its behavior when USE_L10N=False (now the form field reports the validation error in both cases). Thanks mitar for the report.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15416 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/forms')
| -rw-r--r-- | tests/regressiontests/forms/tests/extra.py | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/tests/regressiontests/forms/tests/extra.py b/tests/regressiontests/forms/tests/extra.py index 54f35ee62e..787a129338 100644 --- a/tests/regressiontests/forms/tests/extra.py +++ b/tests/regressiontests/forms/tests/extra.py @@ -1,19 +1,18 @@ # -*- coding: utf-8 -*- import datetime -from decimal import Decimal -import re import time from django.conf import settings from django.forms import * from django.forms.extras import SelectDateWidget from django.forms.util import ErrorList -from django.test import TestCase from django.utils import translation from django.utils import unittest from django.utils.encoding import force_unicode from django.utils.encoding import smart_unicode from error_messages import AssertFormErrorsMixin +class GetDate(Form): + mydate = DateField(widget=SelectDateWidget) class FormsExtraTestCase(unittest.TestCase, AssertFormErrorsMixin): ############### @@ -338,9 +337,6 @@ class FormsExtraTestCase(unittest.TestCase, AssertFormErrorsMixin): <option value="2016">2016</option> </select>""") - class GetDate(Form): - mydate = DateField(widget=SelectDateWidget) - a = GetDate({'mydate_month':'4', 'mydate_day':'1', 'mydate_year':'2008'}) self.assertTrue(a.is_valid()) self.assertEqual(a.cleaned_data['mydate'], datetime.date(2008, 4, 1)) @@ -355,6 +351,11 @@ class FormsExtraTestCase(unittest.TestCase, AssertFormErrorsMixin): self.assertTrue(b.is_valid()) self.assertEqual(b.cleaned_data['mydate'], datetime.date(2008, 4, 1)) + # Invalid dates shouldn't be allowed + c = GetDate({'mydate_month':'2', 'mydate_day':'31', 'mydate_year':'2010'}) + self.assertFalse(c.is_valid()) + self.assertEqual(c.errors, {'mydate': [u'Enter a valid date.']}) + def test_multiwidget(self): # MultiWidget and MultiValueField ############################################# # MultiWidgets are widgets composed of other widgets. They are usually @@ -608,3 +609,10 @@ class FormsExtraL10NTestCase(unittest.TestCase): # Years before 1900 work w = SelectDateWidget(years=('1899',)) self.assertEqual(w.value_from_datadict({'date_year': '1899', 'date_month': '8', 'date_day': '13'}, {}, 'date'), '13-08-1899') + + def test_l10n_invalid_date_in(self): + # Invalid dates shouldn't be allowed + 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': [u'Geef een geldige datum op.']}) |
