diff --git a/django/contrib/localflavor/cz/forms.py b/django/contrib/localflavor/cz/forms.py
index 655e5ce4de..a4c380cdd0 100644
--- a/django/contrib/localflavor/cz/forms.py
+++ b/django/contrib/localflavor/cz/forms.py
@@ -138,4 +138,3 @@ class CZICNumberField(Field):
return u'%s' % value
raise ValidationError(self.error_messages['invalid'])
-
diff --git a/tests/regressiontests/forms/localflavor/cz.py b/tests/regressiontests/forms/localflavor/cz.py
index 4cff172529..34272774d6 100644
--- a/tests/regressiontests/forms/localflavor/cz.py
+++ b/tests/regressiontests/forms/localflavor/cz.py
@@ -1,126 +1,96 @@
-# -*- coding: utf-8 -*-
-# Tests for the contrib/localflavor/ CZ Form Fields
+from django.contrib.localflavor.cz.forms import (CZPostalCodeField,
+ CZRegionSelect, CZBirthNumberField, CZICNumberField)
-tests = r"""
-# CZPostalCodeField #########################################################
+from django.core.exceptions import ValidationError
+from utils import LocalFlavorTestCase
->>> 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.']
-# CZRegionSelect ############################################################
+class CZLocalFlavorTests(LocalFlavorTestCase):
+ def test_CZRegionSelect(self):
+ f = CZRegionSelect()
+ out = u''''''
+ self.assertEqual(f.render('regions', 'TT'), out)
->>> from django.contrib.localflavor.cz.forms import CZRegionSelect
->>> w = CZRegionSelect()
->>> w.render('regions', 'TT')
-u''
+ 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)
-# CZBirthNumberField ########################################################
+ 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)
->>> 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.']
+ # 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')
+ for args in [
+ ('881523/0000', 'm'),
+ ('885223/0000', 'm'),
+ ('881523/0000', 'f'),
+ ('885223/0000', 'f'),
+ ]:
+ try:
+ f.clean(*args)
+ except ValidationError, e:
+ self.assertEqual(e.messages, error_invalid)
+ else:
+ self.fail()
-# CZICNumberField ########################################################
-
->>> 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_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)
diff --git a/tests/regressiontests/forms/localflavortests.py b/tests/regressiontests/forms/localflavortests.py
index c76599a6a9..52c0d604c3 100644
--- a/tests/regressiontests/forms/localflavortests.py
+++ b/tests/regressiontests/forms/localflavortests.py
@@ -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
@@ -31,7 +29,3 @@ from localflavor.us import USLocalFlavorTests
from localflavor.uy import UYLocalFlavorTests
from localflavor.za import ZALocalFlavorTests
-
-__test__ = {
- 'localflavor_cz_tests': localflavor_cz_tests,
-}
diff --git a/tests/regressiontests/forms/tests/__init__.py b/tests/regressiontests/forms/tests/__init__.py
index 70e9030e27..cd07fb63f1 100644
--- a/tests/regressiontests/forms/tests/__init__.py
+++ b/tests/regressiontests/forms/tests/__init__.py
@@ -12,33 +12,14 @@ from validators import TestFieldWithValidators
from widgets import *
from regressiontests.forms.localflavortests import (
- __test__,
- ARLocalFlavorTests,
- ATLocalFlavorTests,
- AULocalFlavorTests,
- BRLocalFlavorTests,
- CALocalFlavorTests,
- CHLocalFlavorTests,
- CLLocalFlavorTests,
- DELocalFlavorTests,
- ESLocalFlavorTests,
- FILocalFlavorTests,
- FRLocalFlavorTests,
- GenericLocalFlavorTests,
- IDLocalFlavorTests,
- IELocalFlavorTests,
- ISLocalFlavorTests,
- ITLocalFlavorTests,
- JPLocalFlavorTests,
- KWLocalFlavorTests,
- NLLocalFlavorTests,
- PLLocalFlavorTests,
- PTLocalFlavorTests,
- ROLocalFlavorTests,
- SELocalFlavorTests,
- SKLocalFlavorTests,
- UKLocalFlavorTests,
- USLocalFlavorTests,
- UYLocalFlavorTests,
- ZALocalFlavorTests,
+ ARLocalFlavorTests, ATLocalFlavorTests, AULocalFlavorTests,
+ BRLocalFlavorTests, CALocalFlavorTests, CHLocalFlavorTests,
+ CLLocalFlavorTests, CZLocalFlavorTests, DELocalFlavorTests,
+ ESLocalFlavorTests, FILocalFlavorTests, FRLocalFlavorTests,
+ GenericLocalFlavorTests, IDLocalFlavorTests, IELocalFlavorTests,
+ ISLocalFlavorTests, ITLocalFlavorTests, JPLocalFlavorTests,
+ KWLocalFlavorTests, NLLocalFlavorTests, PLLocalFlavorTests,
+ PTLocalFlavorTests, ROLocalFlavorTests, SELocalFlavorTests,
+ SKLocalFlavorTests, UKLocalFlavorTests, USLocalFlavorTests,
+ UYLocalFlavorTests, ZALocalFlavorTests
)