Fixed #14593 -- change this warning to be a PendingDeprecationWarning. Also converted the Czech localflavor tests to be unittests. We have always been at war with doctests. Thanks to Idan Gazit.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15062 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
38d60c3941
commit
c00c377e54
|
@ -73,7 +73,7 @@ class CZBirthNumberField(Field):
|
|||
import warnings
|
||||
warnings.warn(
|
||||
"Support for validating the gender of a CZ Birth number has been deprecated.",
|
||||
DeprecationWarning)
|
||||
PendingDeprecationWarning)
|
||||
if gender == 'f':
|
||||
female_const = 50
|
||||
elif gender == 'm':
|
||||
|
|
|
@ -539,3 +539,11 @@ GeoDjango
|
|||
to indicate possible faulty application code. A warning is now raised
|
||||
if :meth:`~django.contrib.gis.geos.GEOSGeometry.transform` is called when
|
||||
the SRID of the geometry is less than 0 or ``None``.
|
||||
|
||||
``CZBirthNumberField.clean``
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Previously this field's ``clean()`` method accepted a second, gender, argument
|
||||
which allowed stronger validation checks to be made, however since this
|
||||
argument could never actually be passed from the Django form machinery it is
|
||||
now pending deprecation.
|
||||
|
|
|
@ -1,126 +1,105 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Tests for the contrib/localflavor/ CZ Form Fields
|
||||
import warnings
|
||||
|
||||
tests = r"""
|
||||
# CZPostalCodeField #########################################################
|
||||
from django.contrib.localflavor.cz.forms import (CZPostalCodeField,
|
||||
CZRegionSelect, CZBirthNumberField, CZICNumberField)
|
||||
|
||||
>>> from django.contrib.localflavor.cz.forms import CZPostalCodeField
|
||||
>>> f = CZPostalCodeField()
|
||||
>>> f.clean('84545x')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a postal code in the format XXXXX or XXX XX.']
|
||||
>>> f.clean('91909')
|
||||
u'91909'
|
||||
>>> f.clean('917 01')
|
||||
u'91701'
|
||||
>>> f.clean('12345')
|
||||
u'12345'
|
||||
>>> f.clean('123456')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a postal code in the format XXXXX or XXX XX.']
|
||||
>>> f.clean('1234')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a postal code in the format XXXXX or XXX XX.']
|
||||
>>> f.clean('123 4')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a postal code in the format XXXXX or XXX XX.']
|
||||
from django.core.exceptions import ValidationError
|
||||
from utils import LocalFlavorTestCase
|
||||
|
||||
# CZRegionSelect ############################################################
|
||||
|
||||
>>> from django.contrib.localflavor.cz.forms import CZRegionSelect
|
||||
>>> w = CZRegionSelect()
|
||||
>>> w.render('regions', 'TT')
|
||||
u'<select name="regions">\n<option value="PR">Prague</option>\n<option value="CE">Central Bohemian Region</option>\n<option value="SO">South Bohemian Region</option>\n<option value="PI">Pilsen Region</option>\n<option value="CA">Carlsbad Region</option>\n<option value="US">Usti Region</option>\n<option value="LB">Liberec Region</option>\n<option value="HK">Hradec Region</option>\n<option value="PA">Pardubice Region</option>\n<option value="VY">Vysocina Region</option>\n<option value="SM">South Moravian Region</option>\n<option value="OL">Olomouc Region</option>\n<option value="ZL">Zlin Region</option>\n<option value="MS">Moravian-Silesian Region</option>\n</select>'
|
||||
class CZLocalFlavorTests(LocalFlavorTestCase):
|
||||
def setUp(self):
|
||||
self.save_warnings_state()
|
||||
warnings.filterwarnings(
|
||||
"ignore",
|
||||
category=PendingDeprecationWarning,
|
||||
module='django.contrib.localflavor.cz.forms'
|
||||
)
|
||||
|
||||
# CZBirthNumberField ########################################################
|
||||
def tearDown(self):
|
||||
self.restore_warnings_state()
|
||||
|
||||
>>> from django.contrib.localflavor.cz.forms import CZBirthNumberField
|
||||
>>> f = CZBirthNumberField()
|
||||
>>> f.clean('880523/1237')
|
||||
u'880523/1237'
|
||||
>>> f.clean('8805231237')
|
||||
u'8805231237'
|
||||
>>> f.clean('880523/000')
|
||||
u'880523/000'
|
||||
>>> f.clean('880523000')
|
||||
u'880523000'
|
||||
>>> f.clean('882101/0011')
|
||||
u'882101/0011'
|
||||
>>> f.clean('880523/1237', 'm')
|
||||
u'880523/1237'
|
||||
>>> f.clean('885523/1231', 'f')
|
||||
u'885523/1231'
|
||||
>>> f.clean('123456/12')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX.']
|
||||
>>> f.clean('123456/12345')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX.']
|
||||
>>> f.clean('12345612')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX.']
|
||||
>>> f.clean('12345612345')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX.']
|
||||
>>> f.clean('881523/0000', 'm')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a valid birth number.']
|
||||
>>> f.clean('885223/0000', 'm')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a valid birth number.']
|
||||
>>> f.clean('881223/0000', 'f')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a valid birth number.']
|
||||
>>> f.clean('886523/0000', 'f')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a valid birth number.']
|
||||
>>> f.clean('880523/1239')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a valid birth number.']
|
||||
>>> f.clean('8805231239')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a valid birth number.']
|
||||
>>> f.clean('990101/0011')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a valid birth number.']
|
||||
def test_CZRegionSelect(self):
|
||||
f = CZRegionSelect()
|
||||
out = u'''<select name="regions">
|
||||
<option value="PR">Prague</option>
|
||||
<option value="CE">Central Bohemian Region</option>
|
||||
<option value="SO">South Bohemian Region</option>
|
||||
<option value="PI">Pilsen Region</option>
|
||||
<option value="CA">Carlsbad Region</option>
|
||||
<option value="US">Usti Region</option>
|
||||
<option value="LB">Liberec Region</option>
|
||||
<option value="HK">Hradec Region</option>
|
||||
<option value="PA">Pardubice Region</option>
|
||||
<option value="VY">Vysocina Region</option>
|
||||
<option value="SM">South Moravian Region</option>
|
||||
<option value="OL">Olomouc Region</option>
|
||||
<option value="ZL">Zlin Region</option>
|
||||
<option value="MS">Moravian-Silesian Region</option>
|
||||
</select>'''
|
||||
self.assertEqual(f.render('regions', 'TT'), out)
|
||||
|
||||
# CZICNumberField ########################################################
|
||||
def test_CZPostalCodeField(self):
|
||||
error_format = [u'Enter a postal code in the format XXXXX or XXX XX.']
|
||||
valid = {
|
||||
'91909': '91909',
|
||||
'917 01': '91701',
|
||||
'12345': '12345',
|
||||
}
|
||||
invalid = {
|
||||
'84545x': error_format,
|
||||
'123456': error_format,
|
||||
'1234': error_format,
|
||||
'123 4': error_format,
|
||||
}
|
||||
self.assertFieldOutput(CZPostalCodeField, valid, invalid)
|
||||
|
||||
>>> from django.contrib.localflavor.cz.forms import CZICNumberField
|
||||
>>> f = CZICNumberField()
|
||||
>>> f.clean('12345679')
|
||||
u'12345679'
|
||||
>>> f.clean('12345601')
|
||||
u'12345601'
|
||||
>>> f.clean('12345661')
|
||||
u'12345661'
|
||||
>>> f.clean('12345610')
|
||||
u'12345610'
|
||||
>>> f.clean('1234567')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a valid IC number.']
|
||||
>>> f.clean('12345660')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a valid IC number.']
|
||||
>>> f.clean('12345600')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: [u'Enter a valid IC number.']
|
||||
"""
|
||||
def test_CZBirthNumberField(self):
|
||||
error_format = [u'Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX.']
|
||||
error_invalid = [u'Enter a valid birth number.']
|
||||
valid = {
|
||||
'880523/1237': '880523/1237',
|
||||
'8805231237': '8805231237',
|
||||
'880523/000': '880523/000',
|
||||
'880523000': '880523000',
|
||||
'882101/0011': '882101/0011',
|
||||
}
|
||||
invalid = {
|
||||
'123456/12': error_format,
|
||||
'123456/12345': error_format,
|
||||
'12345612': error_format,
|
||||
'12345612345': error_format,
|
||||
'880523/1239': error_invalid,
|
||||
'8805231239': error_invalid,
|
||||
'990101/0011': error_invalid,
|
||||
}
|
||||
self.assertFieldOutput(CZBirthNumberField, valid, invalid)
|
||||
|
||||
# These tests should go away in 1.4.
|
||||
# http://code.djangoproject.com/ticket/14593
|
||||
f = CZBirthNumberField()
|
||||
self.assertEqual(f.clean('880523/1237', 'm'), '880523/1237'),
|
||||
self.assertEqual(f.clean('885523/1231', 'f'), '885523/1231')
|
||||
self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
|
||||
f.clean, '881523/0000', 'm')
|
||||
self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
|
||||
f.clean, '885223/0000', 'm')
|
||||
self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
|
||||
f.clean, '881523/0000', 'f')
|
||||
self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
|
||||
f.clean, '885223/0000', 'f')
|
||||
|
||||
def test_CZICNumberField(self):
|
||||
error_invalid = [u'Enter a valid IC number.']
|
||||
valid ={
|
||||
'12345679': '12345679',
|
||||
'12345601': '12345601',
|
||||
'12345661': '12345661',
|
||||
'12345610': '12345610',
|
||||
}
|
||||
invalid = {
|
||||
'1234567': error_invalid,
|
||||
'12345660': error_invalid,
|
||||
'12345600': error_invalid,
|
||||
}
|
||||
self.assertFieldOutput(CZICNumberField, valid, invalid)
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from localflavor.cz import tests as localflavor_cz_tests
|
||||
|
||||
from localflavor.ar import ARLocalFlavorTests
|
||||
from localflavor.at import ATLocalFlavorTests
|
||||
from localflavor.au import AULocalFlavorTests
|
||||
|
@ -9,6 +6,7 @@ from localflavor.br import BRLocalFlavorTests
|
|||
from localflavor.ca import CALocalFlavorTests
|
||||
from localflavor.ch import CHLocalFlavorTests
|
||||
from localflavor.cl import CLLocalFlavorTests
|
||||
from localflavor.cz import CZLocalFlavorTests
|
||||
from localflavor.de import DELocalFlavorTests
|
||||
from localflavor.es import ESLocalFlavorTests
|
||||
from localflavor.fi import FILocalFlavorTests
|
||||
|
@ -33,7 +31,3 @@ from localflavor.us import USLocalFlavorTests
|
|||
from localflavor.uy import UYLocalFlavorTests
|
||||
from localflavor.za import ZALocalFlavorTests
|
||||
|
||||
|
||||
__test__ = {
|
||||
'localflavor_cz_tests': localflavor_cz_tests,
|
||||
}
|
||||
|
|
|
@ -12,36 +12,15 @@ from validators import TestFieldWithValidators
|
|||
from widgets import *
|
||||
|
||||
from regressiontests.forms.localflavortests import (
|
||||
__test__,
|
||||
ARLocalFlavorTests,
|
||||
ATLocalFlavorTests,
|
||||
AULocalFlavorTests,
|
||||
BELocalFlavorTests,
|
||||
BRLocalFlavorTests,
|
||||
CALocalFlavorTests,
|
||||
CHLocalFlavorTests,
|
||||
CLLocalFlavorTests,
|
||||
DELocalFlavorTests,
|
||||
ESLocalFlavorTests,
|
||||
FILocalFlavorTests,
|
||||
FRLocalFlavorTests,
|
||||
GenericLocalFlavorTests,
|
||||
IDLocalFlavorTests,
|
||||
IELocalFlavorTests,
|
||||
ILLocalFlavorTests,
|
||||
ISLocalFlavorTests,
|
||||
ITLocalFlavorTests,
|
||||
JPLocalFlavorTests,
|
||||
KWLocalFlavorTests,
|
||||
NLLocalFlavorTests,
|
||||
PLLocalFlavorTests,
|
||||
PTLocalFlavorTests,
|
||||
ROLocalFlavorTests,
|
||||
SELocalFlavorTests,
|
||||
SKLocalFlavorTests,
|
||||
TRLocalFlavorTests,
|
||||
UKLocalFlavorTests,
|
||||
USLocalFlavorTests,
|
||||
UYLocalFlavorTests,
|
||||
ZALocalFlavorTests,
|
||||
ARLocalFlavorTests, ATLocalFlavorTests, AULocalFlavorTests,
|
||||
BELocalFlavorTests, BRLocalFlavorTests, CALocalFlavorTests,
|
||||
CHLocalFlavorTests, CLLocalFlavorTests, CZLocalFlavorTests,
|
||||
DELocalFlavorTests, ESLocalFlavorTests, FILocalFlavorTests,
|
||||
FRLocalFlavorTests, GenericLocalFlavorTests, IDLocalFlavorTests,
|
||||
IELocalFlavorTests, ILLocalFlavorTests, ISLocalFlavorTests,
|
||||
ITLocalFlavorTests, JPLocalFlavorTests, KWLocalFlavorTests,
|
||||
NLLocalFlavorTests, PLLocalFlavorTests, PTLocalFlavorTests,
|
||||
ROLocalFlavorTests, SELocalFlavorTests, SKLocalFlavorTests,
|
||||
TRLocalFlavorTests, UKLocalFlavorTests, USLocalFlavorTests,
|
||||
UYLocalFlavorTests, ZALocalFlavorTests
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue