From a3fd9cf288e71b9c8e5fb6479eda3d33bc0a9d65 Mon Sep 17 00:00:00 2001 From: Julien Phalip <jphalip@gmail.com> Date: Wed, 24 Aug 2011 12:30:59 +0000 Subject: [PATCH] Fixed #15837. Consolidated all the locaflavor tests into a single, logical, place (regressiontests/localflavor/). git-svn-id: http://code.djangoproject.com/svn/django/trunk@16680 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- .../forms/localflavor/__init__.py | 1 - tests/regressiontests/forms/localflavor/au.py | 50 ------- tests/regressiontests/forms/localflavor/mk.py | 131 ----------------- tests/regressiontests/forms/localflavor/mx.py | 127 ----------------- tests/regressiontests/forms/localflavor/us.py | 129 ----------------- .../regressiontests/forms/localflavortests.py | 42 ------ tests/regressiontests/forms/tests/__init__.py | 44 ------ .../localflavor/ar/__init__.py | 0 .../ar.py => localflavor/ar/tests.py} | 0 .../localflavor/at/__init__.py | 0 .../at.py => localflavor/at/tests.py} | 0 tests/regressiontests/localflavor/au/tests.py | 51 ++++++- .../localflavor/be/__init__.py | 0 .../be.py => localflavor/be/tests.py} | 0 .../localflavor/br/__init__.py | 0 .../br.py => localflavor/br/tests.py} | 0 .../localflavor/ca/__init__.py | 0 .../ca.py => localflavor/ca/tests.py} | 0 .../localflavor/ch/__init__.py | 0 .../ch.py => localflavor/ch/tests.py} | 7 +- .../localflavor/cl/__init__.py | 0 .../cl.py => localflavor/cl/tests.py} | 0 .../localflavor/cn/__init__.py | 0 .../cn.py => localflavor/cn/tests.py} | 1 - .../localflavor/co/__init__.py | 0 .../co.py => localflavor/co/tests.py} | 0 .../localflavor/cz/__init__.py | 0 .../cz.py => localflavor/cz/tests.py} | 0 .../localflavor/de/__init__.py | 0 .../de.py => localflavor/de/tests.py} | 0 .../localflavor/ec/__init__.py | 0 .../ec.py => localflavor/ec/tests.py} | 0 .../localflavor/es/__init__.py | 0 .../es.py => localflavor/es/tests.py} | 4 +- .../localflavor/fi/__init__.py | 0 .../fi.py => localflavor/fi/tests.py} | 1 - .../localflavor/fr/__init__.py | 0 .../fr.py => localflavor/fr/tests.py} | 0 .../localflavor/gb/__init__.py | 0 .../gb.py => localflavor/gb/tests.py} | 0 .../localflavor/generic/__init__.py | 0 .../generic/tests.py} | 0 .../localflavor/hr/__init__.py | 0 .../hr.py => localflavor/hr/tests.py} | 0 .../localflavor/id/__init__.py | 0 .../id.py => localflavor/id/tests.py} | 0 .../localflavor/ie/__init__.py | 0 .../ie.py => localflavor/ie/tests.py} | 0 .../localflavor/il/__init__.py | 0 .../il.py => localflavor/il/tests.py} | 0 .../localflavor/in_/__init__.py | 0 .../in_.py => localflavor/in_/tests.py} | 0 .../localflavor/is_/__init__.py | 0 .../is_.py => localflavor/is_/tests.py} | 7 +- .../localflavor/it/__init__.py | 0 .../it.py => localflavor/it/tests.py} | 5 +- .../localflavor/jp/__init__.py | 0 .../jp.py => localflavor/jp/tests.py} | 0 .../localflavor/kw/__init__.py | 0 .../kw.py => localflavor/kw/tests.py} | 1 - tests/regressiontests/localflavor/mk/tests.py | 132 +++++++++++++++++- tests/regressiontests/localflavor/mx/mx.py | 0 tests/regressiontests/localflavor/mx/tests.py | 128 ++++++++++++++++- .../localflavor/nl/__init__.py | 0 .../nl.py => localflavor/nl/tests.py} | 0 .../localflavor/pl/__init__.py | 0 .../pl.py => localflavor/pl/tests.py} | 0 .../localflavor/pt/__init__.py | 0 .../pt.py => localflavor/pt/tests.py} | 0 .../localflavor/py/__init__.py | 0 .../py.py => localflavor/py/tests.py} | 0 .../localflavor/ro/__init__.py | 0 .../ro.py => localflavor/ro/tests.py} | 0 .../localflavor/ru/__init__.py | 0 .../ru.py => localflavor/ru/tests.py} | 2 +- .../localflavor/se/__init__.py | 0 .../se.py => localflavor/se/tests.py} | 1 - .../localflavor/sk/__init__.py | 0 .../sk.py => localflavor/sk/tests.py} | 0 tests/regressiontests/localflavor/tests.py | 38 ++++- .../localflavor/tr/__init__.py | 0 .../tr.py => localflavor/tr/tests.py} | 0 tests/regressiontests/localflavor/us/tests.py | 132 +++++++++++++++++- .../localflavor/uy/__init__.py | 0 .../uy.py => localflavor/uy/tests.py} | 3 +- .../localflavor/za/__init__.py | 0 .../za.py => localflavor/za/tests.py} | 0 87 files changed, 483 insertions(+), 554 deletions(-) delete mode 100644 tests/regressiontests/forms/localflavor/__init__.py delete mode 100644 tests/regressiontests/forms/localflavor/au.py delete mode 100644 tests/regressiontests/forms/localflavor/mk.py delete mode 100644 tests/regressiontests/forms/localflavor/mx.py delete mode 100644 tests/regressiontests/forms/localflavor/us.py delete mode 100644 tests/regressiontests/forms/localflavortests.py create mode 100644 tests/regressiontests/localflavor/ar/__init__.py rename tests/regressiontests/{forms/localflavor/ar.py => localflavor/ar/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/at/__init__.py rename tests/regressiontests/{forms/localflavor/at.py => localflavor/at/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/be/__init__.py rename tests/regressiontests/{forms/localflavor/be.py => localflavor/be/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/br/__init__.py rename tests/regressiontests/{forms/localflavor/br.py => localflavor/br/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/ca/__init__.py rename tests/regressiontests/{forms/localflavor/ca.py => localflavor/ca/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/ch/__init__.py rename tests/regressiontests/{forms/localflavor/ch.py => localflavor/ch/tests.py} (99%) create mode 100644 tests/regressiontests/localflavor/cl/__init__.py rename tests/regressiontests/{forms/localflavor/cl.py => localflavor/cl/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/cn/__init__.py rename tests/regressiontests/{forms/localflavor/cn.py => localflavor/cn/tests.py} (99%) create mode 100644 tests/regressiontests/localflavor/co/__init__.py rename tests/regressiontests/{forms/localflavor/co.py => localflavor/co/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/cz/__init__.py rename tests/regressiontests/{forms/localflavor/cz.py => localflavor/cz/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/de/__init__.py rename tests/regressiontests/{forms/localflavor/de.py => localflavor/de/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/ec/__init__.py rename tests/regressiontests/{forms/localflavor/ec.py => localflavor/ec/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/es/__init__.py rename tests/regressiontests/{forms/localflavor/es.py => localflavor/es/tests.py} (99%) create mode 100644 tests/regressiontests/localflavor/fi/__init__.py rename tests/regressiontests/{forms/localflavor/fi.py => localflavor/fi/tests.py} (99%) create mode 100644 tests/regressiontests/localflavor/fr/__init__.py rename tests/regressiontests/{forms/localflavor/fr.py => localflavor/fr/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/gb/__init__.py rename tests/regressiontests/{forms/localflavor/gb.py => localflavor/gb/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/generic/__init__.py rename tests/regressiontests/{forms/localflavor/generic.py => localflavor/generic/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/hr/__init__.py rename tests/regressiontests/{forms/localflavor/hr.py => localflavor/hr/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/id/__init__.py rename tests/regressiontests/{forms/localflavor/id.py => localflavor/id/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/ie/__init__.py rename tests/regressiontests/{forms/localflavor/ie.py => localflavor/ie/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/il/__init__.py rename tests/regressiontests/{forms/localflavor/il.py => localflavor/il/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/in_/__init__.py rename tests/regressiontests/{forms/localflavor/in_.py => localflavor/in_/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/is_/__init__.py rename tests/regressiontests/{forms/localflavor/is_.py => localflavor/is_/tests.py} (99%) create mode 100644 tests/regressiontests/localflavor/it/__init__.py rename tests/regressiontests/{forms/localflavor/it.py => localflavor/it/tests.py} (99%) create mode 100644 tests/regressiontests/localflavor/jp/__init__.py rename tests/regressiontests/{forms/localflavor/jp.py => localflavor/jp/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/kw/__init__.py rename tests/regressiontests/{forms/localflavor/kw.py => localflavor/kw/tests.py} (99%) create mode 100644 tests/regressiontests/localflavor/mx/mx.py create mode 100644 tests/regressiontests/localflavor/nl/__init__.py rename tests/regressiontests/{forms/localflavor/nl.py => localflavor/nl/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/pl/__init__.py rename tests/regressiontests/{forms/localflavor/pl.py => localflavor/pl/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/pt/__init__.py rename tests/regressiontests/{forms/localflavor/pt.py => localflavor/pt/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/py/__init__.py rename tests/regressiontests/{forms/localflavor/py.py => localflavor/py/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/ro/__init__.py rename tests/regressiontests/{forms/localflavor/ro.py => localflavor/ro/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/ru/__init__.py rename tests/regressiontests/{forms/localflavor/ru.py => localflavor/ru/tests.py} (99%) create mode 100644 tests/regressiontests/localflavor/se/__init__.py rename tests/regressiontests/{forms/localflavor/se.py => localflavor/se/tests.py} (99%) create mode 100644 tests/regressiontests/localflavor/sk/__init__.py rename tests/regressiontests/{forms/localflavor/sk.py => localflavor/sk/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/tr/__init__.py rename tests/regressiontests/{forms/localflavor/tr.py => localflavor/tr/tests.py} (100%) create mode 100644 tests/regressiontests/localflavor/uy/__init__.py rename tests/regressiontests/{forms/localflavor/uy.py => localflavor/uy/tests.py} (99%) create mode 100644 tests/regressiontests/localflavor/za/__init__.py rename tests/regressiontests/{forms/localflavor/za.py => localflavor/za/tests.py} (100%) diff --git a/tests/regressiontests/forms/localflavor/__init__.py b/tests/regressiontests/forms/localflavor/__init__.py deleted file mode 100644 index 792d600548..0000000000 --- a/tests/regressiontests/forms/localflavor/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/tests/regressiontests/forms/localflavor/au.py b/tests/regressiontests/forms/localflavor/au.py deleted file mode 100644 index 9a753d85e2..0000000000 --- a/tests/regressiontests/forms/localflavor/au.py +++ /dev/null @@ -1,50 +0,0 @@ -from django.contrib.localflavor.au.forms import (AUPostCodeField, - AUPhoneNumberField, AUStateSelect) - -from django.test import SimpleTestCase - - -class AULocalFlavorTests(SimpleTestCase): - def test_AUStateSelect(self): - f = AUStateSelect() - out = u'''<select name="state"> -<option value="ACT">Australian Capital Territory</option> -<option value="NSW" selected="selected">New South Wales</option> -<option value="NT">Northern Territory</option> -<option value="QLD">Queensland</option> -<option value="SA">South Australia</option> -<option value="TAS">Tasmania</option> -<option value="VIC">Victoria</option> -<option value="WA">Western Australia</option> -</select>''' - self.assertEqual(f.render('state', 'NSW'), out) - - def test_AUPostCodeField(self): - error_format = [u'Enter a 4 digit postcode.'] - valid = { - '1234': '1234', - '2000': '2000', - } - invalid = { - 'abcd': error_format, - '20001': [u'Ensure this value has at most 4 characters (it has 5).'] + error_format, - } - self.assertFieldOutput(AUPostCodeField, valid, invalid) - - def test_AUPhoneNumberField(self): - error_format = [u'Phone numbers must contain 10 digits.'] - valid = { - '1234567890': '1234567890', - '0213456789': '0213456789', - '02 13 45 67 89': '0213456789', - '(02) 1345 6789': '0213456789', - '(02) 1345-6789': '0213456789', - '(02)1345-6789': '0213456789', - '0408 123 456': '0408123456', - } - invalid = { - '123': error_format, - '1800DJANGO': error_format, - } - self.assertFieldOutput(AUPhoneNumberField, valid, invalid) - diff --git a/tests/regressiontests/forms/localflavor/mk.py b/tests/regressiontests/forms/localflavor/mk.py deleted file mode 100644 index 913dfb777d..0000000000 --- a/tests/regressiontests/forms/localflavor/mk.py +++ /dev/null @@ -1,131 +0,0 @@ -from django.contrib.localflavor.mk.forms import ( - MKIdentityCardNumberField, MKMunicipalitySelect, UMCNField) - -from django.test import SimpleTestCase - - -class MKLocalFlavorTests(SimpleTestCase): - - def test_MKIdentityCardNumberField(self): - error_invalid = [u'Identity card numbers must contain either 4 to 7 ' - 'digits or an uppercase letter and 7 digits.'] - valid = { - 'L0018077':'L0018077', - 'A0078315' : 'A0078315', - } - invalid = { - '123': error_invalid, - 'abcdf': error_invalid, - '234390a': error_invalid, - } - self.assertFieldOutput(MKIdentityCardNumberField, valid, invalid) - - def test_MKMunicipalitySelect(self): - f = MKMunicipalitySelect() - out=u'''<select name="municipality"> -<option value="AD">Aerodrom</option> -<option value="AR">Ara\u010dinovo</option> -<option value="BR">Berovo</option> -<option value="TL">Bitola</option> -<option value="BG">Bogdanci</option> -<option value="VJ">Bogovinje</option> -<option value="BS">Bosilovo</option> -<option value="BN">Brvenica</option> -<option value="BU">Butel</option> -<option value="VA">Valandovo</option> -<option value="VL">Vasilevo</option> -<option value="VV">Vev\u010dani</option> -<option value="VE">Veles</option> -<option value="NI">Vinica</option> -<option value="VC">Vrane\u0161tica</option> -<option value="VH">Vrap\u010di\u0161te</option> -<option value="GB">Gazi Baba</option> -<option value="GV">Gevgelija</option> -<option value="GT">Gostivar</option> -<option value="GR">Gradsko</option> -<option value="DB">Debar</option> -<option value="DA">Debarca</option> -<option value="DL" selected="selected">Del\u010devo</option> -<option value="DK">Demir Kapija</option> -<option value="DM">Demir Hisar</option> -<option value="DE">Dolneni</option> -<option value="DR">Drugovo</option> -<option value="GP">Gjor\u010de Petrov</option> -<option value="ZE">\u017delino</option> -<option value="ZA">Zajas</option> -<option value="ZK">Zelenikovo</option> -<option value="ZR">Zrnovci</option> -<option value="IL">Ilinden</option> -<option value="JG">Jegunovce</option> -<option value="AV">Kavadarci</option> -<option value="KB">Karbinci</option> -<option value="KX">Karpo\u0161</option> -<option value="VD">Kisela Voda</option> -<option value="KH">Ki\u010devo</option> -<option value="KN">Kon\u010de</option> -<option value="OC">Ko\u0107ani</option> -<option value="KY">Kratovo</option> -<option value="KZ">Kriva Palanka</option> -<option value="KG">Krivoga\u0161tani</option> -<option value="KS">Kru\u0161evo</option> -<option value="UM">Kumanovo</option> -<option value="LI">Lipkovo</option> -<option value="LO">Lozovo</option> -<option value="MR">Mavrovo i Rostu\u0161a</option> -<option value="MK">Makedonska Kamenica</option> -<option value="MD">Makedonski Brod</option> -<option value="MG">Mogila</option> -<option value="NG">Negotino</option> -<option value="NV">Novaci</option> -<option value="NS">Novo Selo</option> -<option value="OS">Oslomej</option> -<option value="OD">Ohrid</option> -<option value="PE">Petrovec</option> -<option value="PH">Peh\u010devo</option> -<option value="PN">Plasnica</option> -<option value="PP">Prilep</option> -<option value="PT">Probi\u0161tip</option> -<option value="RV">Radovi\u0161</option> -<option value="RN">Rankovce</option> -<option value="RE">Resen</option> -<option value="RO">Rosoman</option> -<option value="AJ">Saraj</option> -<option value="SL">Sveti Nikole</option> -<option value="SS">Sopi\u0161te</option> -<option value="SD">Star Dojran</option> -<option value="NA">Staro Nagori\u010dane</option> -<option value="UG">Struga</option> -<option value="RU">Strumica</option> -<option value="SU">Studeni\u010dani</option> -<option value="TR">Tearce</option> -<option value="ET">Tetovo</option> -<option value="CE">Centar</option> -<option value="CZ">Centar-\u017dupa</option> -<option value="CI">\u010cair</option> -<option value="CA">\u010ca\u0161ka</option> -<option value="CH">\u010ce\u0161inovo-Oble\u0161evo</option> -<option value="CS">\u010cu\u010der-Sandevo</option> -<option value="ST">\u0160tip</option> -<option value="SO">\u0160uto Orizari</option> -</select>''' - self.assertEqual(f.render('municipality', 'DL' ), out) - - def test_UMCNField(self): - error_invalid = [u'This field should contain exactly 13 digits.'] - error_checksum = [u'The UMCN is not valid.'] - error_date = [u'The first 7 digits of the UMCN ' - 'must represent a valid past date.'] - valid = { - '2402983450006': '2402983450006', - '2803984430038': '2803984430038', - '1909982045004': '1909982045004', - } - invalid = { - '240298345': error_invalid, - 'abcdefghj': error_invalid, - '2402082450006': error_date, - '3002982450006': error_date, - '2402983450007': error_checksum, - '2402982450006': error_checksum, - } - self.assertFieldOutput(UMCNField, valid, invalid) diff --git a/tests/regressiontests/forms/localflavor/mx.py b/tests/regressiontests/forms/localflavor/mx.py deleted file mode 100644 index 30937de665..0000000000 --- a/tests/regressiontests/forms/localflavor/mx.py +++ /dev/null @@ -1,127 +0,0 @@ -# -*- coding: utf-8 -*- -from django.contrib.localflavor.mx.forms import (MXZipCodeField, MXRFCField, - MXStateSelect, MXCURPField) - -from django.test import SimpleTestCase - - -class MXLocalFlavorTests(SimpleTestCase): - def test_MXStateSelect(self): - f = MXStateSelect() - out = u'''<select name="state"> -<option value="AGU">Aguascalientes</option> -<option value="BCN">Baja California</option> -<option value="BCS">Baja California Sur</option> -<option value="CAM">Campeche</option> -<option value="CHH">Chihuahua</option> -<option value="CHP">Chiapas</option> -<option value="COA">Coahuila</option> -<option value="COL">Colima</option> -<option value="DIF">Distrito Federal</option> -<option value="DUR">Durango</option> -<option value="GRO">Guerrero</option> -<option value="GUA">Guanajuato</option> -<option value="HID">Hidalgo</option> -<option value="JAL">Jalisco</option> -<option value="MEX">Estado de México</option> -<option value="MIC" selected="selected">Michoacán</option> -<option value="MOR">Morelos</option> -<option value="NAY">Nayarit</option> -<option value="NLE">Nuevo León</option> -<option value="OAX">Oaxaca</option> -<option value="PUE">Puebla</option> -<option value="QUE">Querétaro</option> -<option value="ROO">Quintana Roo</option> -<option value="SIN">Sinaloa</option> -<option value="SLP">San Luis Potosí</option> -<option value="SON">Sonora</option> -<option value="TAB">Tabasco</option> -<option value="TAM">Tamaulipas</option> -<option value="TLA">Tlaxcala</option> -<option value="VER">Veracruz</option> -<option value="YUC">Yucatán</option> -<option value="ZAC">Zacatecas</option> -</select>''' - self.assertEqual(f.render('state', 'MIC'), out) - - def test_MXZipCodeField(self): - error_format = [u'Enter a valid zip code in the format XXXXX.'] - valid = { - '58120': u'58120', - '58502': u'58502', - '59310': u'59310', - '99999': u'99999', - } - invalid = { - '17000': error_format, - '18000': error_format, - '19000': error_format, - '00000': error_format, - } - self.assertFieldOutput(MXZipCodeField, valid, invalid) - - def test_MXRFCField(self): - error_format = [u'Enter a valid RFC.'] - error_checksum = [u'Invalid checksum for RFC.'] - valid = { - 'MoFN641205eX5': u'MOFN641205EX5', - 'ICa060120873': u'ICA060120873', - 'eUcG751104rT0': u'EUCG751104RT0', - 'GME08100195A': u'GME08100195A', - 'AA&060524KX5': u'AA&060524KX5', - 'CAÑ0708045P7': u'CAÑ0708045P7', - 'aaa000101aa9': u'AAA000101AA9', - } - invalid = { - 'MED0000000XA': error_format, - '0000000000XA': error_format, - 'AAA000000AA6': error_format, - # Dates - 'XXX880002XXX': error_format, - 'XXX880200XXX': error_format, - 'XXX880132XXX': error_format, - 'XXX880230XXX': error_format, - 'XXX880431XXX': error_format, - # Incorrect checksum - 'MOGR650524E73': error_checksum, - 'HVA7810058F1': error_checksum, - 'MoFN641205eX2': error_checksum, - 'ICa060120871': error_checksum, - 'eUcG751104rT7': error_checksum, - 'GME081001955': error_checksum, - 'AA&060524KX9': error_checksum, - 'CAÑ0708045P2': error_checksum, - } - self.assertFieldOutput(MXRFCField, valid, invalid) - - def test_MXCURPField(self): - error_format = [u'Enter a valid CURP.'] - error_checksum = [u'Invalid checksum for CURP.'] - valid = { - 'AaMG890608HDFLJL00': u'AAMG890608HDFLJL00', - 'BAAd890419HMNRRV07': u'BAAD890419HMNRRV07', - 'VIAA900930MMNClL08': u'VIAA900930MMNCLL08', - 'HEGR891009HMNRRD09': u'HEGR891009HMNRRD09', - 'MARR890512HMNRMN09': u'MARR890512HMNRMN09', - 'MESJ890928HMNZNS00': u'MESJ890928HMNZNS00', - 'BAAA890317HDFRLL03': u'BAAA890317HDFRLL03', - 'TOMA880125HMNRRNO2': u'TOMA880125HMNRRNO2', - 'OOMG890727HMNRSR06': u'OOMG890727HMNRSR06', - 'AAAA000101HDFCCC09': u'AAAA000101HDFCCC09', - } - invalid = { - 'AAAA000000HDFCCC09': error_format, - 'AAAA000000HDFAAA03': error_format, - 'AAAA000000HXXCCC08': error_format, - 'AAAA000000XMNCCC02': error_format, - 'HEGR891009HMNRRD0A': error_format, - 'MARR890512HMNRMN0A': error_format, - 'AaMG890608HDFLJL01': error_checksum, - 'BAAd890419HMNRRV08': error_checksum, - 'VIAA900930MMNClL09': error_checksum, - 'MESJ890928HMNZNS01': error_checksum, - 'BAAA890317HDFRLL04': error_checksum, - 'TOMA880125HMNRRNO3': error_checksum, - 'OOMG890727HMNRSR07': error_checksum, - } - self.assertFieldOutput(MXCURPField, valid, invalid) diff --git a/tests/regressiontests/forms/localflavor/us.py b/tests/regressiontests/forms/localflavor/us.py deleted file mode 100644 index 9b38db5b7c..0000000000 --- a/tests/regressiontests/forms/localflavor/us.py +++ /dev/null @@ -1,129 +0,0 @@ -from django.contrib.localflavor.us.forms import (USZipCodeField, - USPhoneNumberField, USStateField, USStateSelect, USSocialSecurityNumberField) - -from django.test import SimpleTestCase - - -class USLocalFlavorTests(SimpleTestCase): - def test_USStateSelect(self): - f = USStateSelect() - out = u'''<select name="state"> -<option value="AL">Alabama</option> -<option value="AK">Alaska</option> -<option value="AS">American Samoa</option> -<option value="AZ">Arizona</option> -<option value="AR">Arkansas</option> -<option value="AA">Armed Forces Americas</option> -<option value="AE">Armed Forces Europe</option> -<option value="AP">Armed Forces Pacific</option> -<option value="CA">California</option> -<option value="CO">Colorado</option> -<option value="CT">Connecticut</option> -<option value="DE">Delaware</option> -<option value="DC">District of Columbia</option> -<option value="FL">Florida</option> -<option value="GA">Georgia</option> -<option value="GU">Guam</option> -<option value="HI">Hawaii</option> -<option value="ID">Idaho</option> -<option value="IL" selected="selected">Illinois</option> -<option value="IN">Indiana</option> -<option value="IA">Iowa</option> -<option value="KS">Kansas</option> -<option value="KY">Kentucky</option> -<option value="LA">Louisiana</option> -<option value="ME">Maine</option> -<option value="MD">Maryland</option> -<option value="MA">Massachusetts</option> -<option value="MI">Michigan</option> -<option value="MN">Minnesota</option> -<option value="MS">Mississippi</option> -<option value="MO">Missouri</option> -<option value="MT">Montana</option> -<option value="NE">Nebraska</option> -<option value="NV">Nevada</option> -<option value="NH">New Hampshire</option> -<option value="NJ">New Jersey</option> -<option value="NM">New Mexico</option> -<option value="NY">New York</option> -<option value="NC">North Carolina</option> -<option value="ND">North Dakota</option> -<option value="MP">Northern Mariana Islands</option> -<option value="OH">Ohio</option> -<option value="OK">Oklahoma</option> -<option value="OR">Oregon</option> -<option value="PA">Pennsylvania</option> -<option value="PR">Puerto Rico</option> -<option value="RI">Rhode Island</option> -<option value="SC">South Carolina</option> -<option value="SD">South Dakota</option> -<option value="TN">Tennessee</option> -<option value="TX">Texas</option> -<option value="UT">Utah</option> -<option value="VT">Vermont</option> -<option value="VI">Virgin Islands</option> -<option value="VA">Virginia</option> -<option value="WA">Washington</option> -<option value="WV">West Virginia</option> -<option value="WI">Wisconsin</option> -<option value="WY">Wyoming</option> -</select>''' - self.assertEqual(f.render('state', 'IL'), out) - - def test_USZipCodeField(self): - error_format = [u'Enter a zip code in the format XXXXX or XXXXX-XXXX.'] - valid = { - '60606': '60606', - 60606: '60606', - '04000': '04000', - '60606-1234': '60606-1234', - } - invalid = { - '4000': error_format, - '6060-1234': error_format, - '60606-': error_format, - } - self.assertFieldOutput(USZipCodeField, valid, invalid) - - def test_USPhoneNumberField(self): - error_format = [u'Phone numbers must be in XXX-XXX-XXXX format.'] - valid = { - '312-555-1212': '312-555-1212', - '3125551212': '312-555-1212', - '312 555-1212': '312-555-1212', - '(312) 555-1212': '312-555-1212', - '312 555 1212': '312-555-1212', - '312.555.1212': '312-555-1212', - '312.555-1212': '312-555-1212', - ' (312) 555.1212 ': '312-555-1212', - } - invalid = { - '555-1212': error_format, - '312-55-1212': error_format, - } - self.assertFieldOutput(USPhoneNumberField, valid, invalid) - - def test_USStateField(self): - error_invalid = [u'Enter a U.S. state or territory.'] - valid = { - 'il': 'IL', - 'IL': 'IL', - 'illinois': 'IL', - ' illinois ': 'IL', - } - invalid = { - 60606: error_invalid, - } - self.assertFieldOutput(USStateField, valid, invalid) - - def test_USSocialSecurityNumberField(self): - error_invalid = [u'Enter a valid U.S. Social Security number in XXX-XX-XXXX format.'] - - valid = { - '987-65-4330': '987-65-4330', - '987654330': '987-65-4330', - } - invalid = { - '078-05-1120': error_invalid, - } - self.assertFieldOutput(USSocialSecurityNumberField, valid, invalid) diff --git a/tests/regressiontests/forms/localflavortests.py b/tests/regressiontests/forms/localflavortests.py deleted file mode 100644 index 6a3fb2322e..0000000000 --- a/tests/regressiontests/forms/localflavortests.py +++ /dev/null @@ -1,42 +0,0 @@ -from localflavor.ar import ARLocalFlavorTests -from localflavor.at import ATLocalFlavorTests -from localflavor.au import AULocalFlavorTests -from localflavor.be import BELocalFlavorTests -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.cn import CNLocalFlavorTests -from localflavor.co import COLocalFlavorTests -from localflavor.de import DELocalFlavorTests -from localflavor.es import ESLocalFlavorTests -from localflavor.ec import ECLocalFlavorTests -from localflavor.fi import FILocalFlavorTests -from localflavor.fr import FRLocalFlavorTests -from localflavor.gb import GBLocalFlavorTests -from localflavor.generic import GenericLocalFlavorTests -from localflavor.hr import HRLocalFlavorTests -from localflavor.id import IDLocalFlavorTests -from localflavor.ie import IELocalFlavorTests -from localflavor.il import ILLocalFlavorTests -from localflavor.is_ import ISLocalFlavorTests -from localflavor.in_ import INLocalFlavorTests -from localflavor.it import ITLocalFlavorTests -from localflavor.jp import JPLocalFlavorTests -from localflavor.kw import KWLocalFlavorTests -from localflavor.mk import MKLocalFlavorTests -from localflavor.mx import MXLocalFlavorTests -from localflavor.nl import NLLocalFlavorTests -from localflavor.pl import PLLocalFlavorTests -from localflavor.pt import PTLocalFlavorTests -from localflavor.py import PYLocalFlavorTests -from localflavor.ro import ROLocalFlavorTests -from localflavor.ru import RULocalFlavorTests -from localflavor.se import SELocalFlavorTests -from localflavor.sk import SKLocalFlavorTests -from localflavor.tr import TRLocalFlavorTests -from localflavor.us import USLocalFlavorTests -from localflavor.uy import UYLocalFlavorTests -from localflavor.za import ZALocalFlavorTests - diff --git a/tests/regressiontests/forms/tests/__init__.py b/tests/regressiontests/forms/tests/__init__.py index 9570835aa9..1b615c4583 100644 --- a/tests/regressiontests/forms/tests/__init__.py +++ b/tests/regressiontests/forms/tests/__init__.py @@ -10,47 +10,3 @@ from regressions import * from util import * from validators import TestFieldWithValidators from widgets import * - -from regressiontests.forms.localflavortests import ( - ARLocalFlavorTests, - ATLocalFlavorTests, - AULocalFlavorTests, - BELocalFlavorTests, - BRLocalFlavorTests, - CALocalFlavorTests, - CHLocalFlavorTests, - CLLocalFlavorTests, - CNLocalFlavorTests, - COLocalFlavorTests, - CZLocalFlavorTests, - DELocalFlavorTests, - ECLocalFlavorTests, - ESLocalFlavorTests, - FILocalFlavorTests, - FRLocalFlavorTests, - GBLocalFlavorTests, - GenericLocalFlavorTests, - HRLocalFlavorTests, - IDLocalFlavorTests, - IELocalFlavorTests, - ILLocalFlavorTests, - ISLocalFlavorTests, - INLocalFlavorTests, - ITLocalFlavorTests, - JPLocalFlavorTests, - KWLocalFlavorTests, - MKLocalFlavorTests, - MXLocalFlavorTests, - NLLocalFlavorTests, - PLLocalFlavorTests, - PTLocalFlavorTests, - PYLocalFlavorTests, - ROLocalFlavorTests, - RULocalFlavorTests, - SELocalFlavorTests, - SKLocalFlavorTests, - TRLocalFlavorTests, - USLocalFlavorTests, - UYLocalFlavorTests, - ZALocalFlavorTests, -) diff --git a/tests/regressiontests/localflavor/ar/__init__.py b/tests/regressiontests/localflavor/ar/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/ar.py b/tests/regressiontests/localflavor/ar/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/ar.py rename to tests/regressiontests/localflavor/ar/tests.py diff --git a/tests/regressiontests/localflavor/at/__init__.py b/tests/regressiontests/localflavor/at/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/at.py b/tests/regressiontests/localflavor/at/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/at.py rename to tests/regressiontests/localflavor/at/tests.py diff --git a/tests/regressiontests/localflavor/au/tests.py b/tests/regressiontests/localflavor/au/tests.py index 1f462d579f..bdfaa2b799 100644 --- a/tests/regressiontests/localflavor/au/tests.py +++ b/tests/regressiontests/localflavor/au/tests.py @@ -1,6 +1,9 @@ import re -from django.test import TestCase +from django.test import SimpleTestCase +from django.contrib.localflavor.au.forms import (AUPostCodeField, + AUPhoneNumberField, AUStateSelect) + from forms import AustralianPlaceForm SELECTED_OPTION_PATTERN = r'<option value="%s" selected="selected">' @@ -8,7 +11,8 @@ BLANK_OPTION_PATTERN = r'<option value="">' INPUT_VALUE_PATTERN = r'<input[^>]*value="%s"[^>]*>' -class AULocalflavorTests(TestCase): +class AULocalflavorTests(SimpleTestCase): + def setUp(self): self.form = AustralianPlaceForm( {'state':'WA', @@ -56,3 +60,46 @@ class AULocalflavorTests(TestCase): str(self.form['postcode']))) self.assertTrue(re.search(INPUT_VALUE_PATTERN % '4321', str(self.form['postcode_required']))) + + def test_AUStateSelect(self): + f = AUStateSelect() + out = u'''<select name="state"> +<option value="ACT">Australian Capital Territory</option> +<option value="NSW" selected="selected">New South Wales</option> +<option value="NT">Northern Territory</option> +<option value="QLD">Queensland</option> +<option value="SA">South Australia</option> +<option value="TAS">Tasmania</option> +<option value="VIC">Victoria</option> +<option value="WA">Western Australia</option> +</select>''' + self.assertEqual(f.render('state', 'NSW'), out) + + def test_AUPostCodeField(self): + error_format = [u'Enter a 4 digit postcode.'] + valid = { + '1234': '1234', + '2000': '2000', + } + invalid = { + 'abcd': error_format, + '20001': [u'Ensure this value has at most 4 characters (it has 5).'] + error_format, + } + self.assertFieldOutput(AUPostCodeField, valid, invalid) + + def test_AUPhoneNumberField(self): + error_format = [u'Phone numbers must contain 10 digits.'] + valid = { + '1234567890': '1234567890', + '0213456789': '0213456789', + '02 13 45 67 89': '0213456789', + '(02) 1345 6789': '0213456789', + '(02) 1345-6789': '0213456789', + '(02)1345-6789': '0213456789', + '0408 123 456': '0408123456', + } + invalid = { + '123': error_format, + '1800DJANGO': error_format, + } + self.assertFieldOutput(AUPhoneNumberField, valid, invalid) diff --git a/tests/regressiontests/localflavor/be/__init__.py b/tests/regressiontests/localflavor/be/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/be.py b/tests/regressiontests/localflavor/be/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/be.py rename to tests/regressiontests/localflavor/be/tests.py diff --git a/tests/regressiontests/localflavor/br/__init__.py b/tests/regressiontests/localflavor/br/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/br.py b/tests/regressiontests/localflavor/br/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/br.py rename to tests/regressiontests/localflavor/br/tests.py diff --git a/tests/regressiontests/localflavor/ca/__init__.py b/tests/regressiontests/localflavor/ca/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/ca.py b/tests/regressiontests/localflavor/ca/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/ca.py rename to tests/regressiontests/localflavor/ca/tests.py diff --git a/tests/regressiontests/localflavor/ch/__init__.py b/tests/regressiontests/localflavor/ch/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/ch.py b/tests/regressiontests/localflavor/ch/tests.py similarity index 99% rename from tests/regressiontests/forms/localflavor/ch.py rename to tests/regressiontests/localflavor/ch/tests.py index a2603666c3..5c939e1d7e 100644 --- a/tests/regressiontests/forms/localflavor/ch.py +++ b/tests/regressiontests/localflavor/ch/tests.py @@ -36,7 +36,7 @@ class CHLocalFlavorTests(SimpleTestCase): <option value="ZH">Zurich</option> </select>''' self.assertEqual(f.render('state', 'AG'), out) - + def test_CHZipCodeField(self): error_format = [u'Enter a zip code in the format XXXX.'] valid = { @@ -48,7 +48,7 @@ class CHLocalFlavorTests(SimpleTestCase): '80 00': error_format, } self.assertFieldOutput(CHZipCodeField, valid, invalid) - + def test_CHPhoneNumberField(self): error_format = [u'Phone numbers must be in 0XX XXX XX XX format.'] valid = { @@ -60,7 +60,7 @@ class CHLocalFlavorTests(SimpleTestCase): '1234567890': error_format, } self.assertFieldOutput(CHPhoneNumberField, valid, invalid) - + def test_CHIdentityCardNumberField(self): error_format = [u'Enter a valid Swiss identity or passport card number in X1234567<0 or 1234567890 format.'] valid = { @@ -72,4 +72,3 @@ class CHLocalFlavorTests(SimpleTestCase): '2123456701': error_format, } self.assertFieldOutput(CHIdentityCardNumberField, valid, invalid) - diff --git a/tests/regressiontests/localflavor/cl/__init__.py b/tests/regressiontests/localflavor/cl/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/cl.py b/tests/regressiontests/localflavor/cl/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/cl.py rename to tests/regressiontests/localflavor/cl/tests.py diff --git a/tests/regressiontests/localflavor/cn/__init__.py b/tests/regressiontests/localflavor/cn/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/cn.py b/tests/regressiontests/localflavor/cn/tests.py similarity index 99% rename from tests/regressiontests/forms/localflavor/cn.py rename to tests/regressiontests/localflavor/cn/tests.py index dccba9c862..8b91e66daf 100644 --- a/tests/regressiontests/forms/localflavor/cn.py +++ b/tests/regressiontests/localflavor/cn/tests.py @@ -110,4 +110,3 @@ class CNLocalFlavorTests(SimpleTestCase): '14012345678': error_format } self.assertFieldOutput(CNCellNumberField, valid, invalid) - diff --git a/tests/regressiontests/localflavor/co/__init__.py b/tests/regressiontests/localflavor/co/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/co.py b/tests/regressiontests/localflavor/co/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/co.py rename to tests/regressiontests/localflavor/co/tests.py diff --git a/tests/regressiontests/localflavor/cz/__init__.py b/tests/regressiontests/localflavor/cz/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/cz.py b/tests/regressiontests/localflavor/cz/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/cz.py rename to tests/regressiontests/localflavor/cz/tests.py diff --git a/tests/regressiontests/localflavor/de/__init__.py b/tests/regressiontests/localflavor/de/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/de.py b/tests/regressiontests/localflavor/de/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/de.py rename to tests/regressiontests/localflavor/de/tests.py diff --git a/tests/regressiontests/localflavor/ec/__init__.py b/tests/regressiontests/localflavor/ec/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/ec.py b/tests/regressiontests/localflavor/ec/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/ec.py rename to tests/regressiontests/localflavor/ec/tests.py diff --git a/tests/regressiontests/localflavor/es/__init__.py b/tests/regressiontests/localflavor/es/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/es.py b/tests/regressiontests/localflavor/es/tests.py similarity index 99% rename from tests/regressiontests/forms/localflavor/es.py rename to tests/regressiontests/localflavor/es/tests.py index 513c6e21a4..ccd08b168d 100644 --- a/tests/regressiontests/forms/localflavor/es.py +++ b/tests/regressiontests/localflavor/es/tests.py @@ -153,7 +153,7 @@ class ESLocalFlavorTests(SimpleTestCase): '78699688-2': error_invalid, } self.assertFieldOutput(ESIdentityCardNumberField, valid, invalid) - + def test_ESCCCField(self): error_invalid = [u'Please enter a valid bank account number in format XXXX-XXXX-XX-XXXXXXXXXX.'] error_checksum = [u'Invalid checksum for bank account number.'] @@ -169,5 +169,3 @@ class ESLocalFlavorTests(SimpleTestCase): '2077-03-3879-3100254321': error_invalid, } self.assertFieldOutput(ESCCCField, valid, invalid) - - diff --git a/tests/regressiontests/localflavor/fi/__init__.py b/tests/regressiontests/localflavor/fi/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/fi.py b/tests/regressiontests/localflavor/fi/tests.py similarity index 99% rename from tests/regressiontests/forms/localflavor/fi.py rename to tests/regressiontests/localflavor/fi/tests.py index e664e30af6..74a6ed2d9d 100644 --- a/tests/regressiontests/forms/localflavor/fi.py +++ b/tests/regressiontests/localflavor/fi/tests.py @@ -379,4 +379,3 @@ class FILocalFlavorTests(SimpleTestCase): '101010b0101': error_invalid, } self.assertFieldOutput(FISocialSecurityNumber, valid, invalid) - diff --git a/tests/regressiontests/localflavor/fr/__init__.py b/tests/regressiontests/localflavor/fr/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/fr.py b/tests/regressiontests/localflavor/fr/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/fr.py rename to tests/regressiontests/localflavor/fr/tests.py diff --git a/tests/regressiontests/localflavor/gb/__init__.py b/tests/regressiontests/localflavor/gb/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/gb.py b/tests/regressiontests/localflavor/gb/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/gb.py rename to tests/regressiontests/localflavor/gb/tests.py diff --git a/tests/regressiontests/localflavor/generic/__init__.py b/tests/regressiontests/localflavor/generic/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/generic.py b/tests/regressiontests/localflavor/generic/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/generic.py rename to tests/regressiontests/localflavor/generic/tests.py diff --git a/tests/regressiontests/localflavor/hr/__init__.py b/tests/regressiontests/localflavor/hr/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/hr.py b/tests/regressiontests/localflavor/hr/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/hr.py rename to tests/regressiontests/localflavor/hr/tests.py diff --git a/tests/regressiontests/localflavor/id/__init__.py b/tests/regressiontests/localflavor/id/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/id.py b/tests/regressiontests/localflavor/id/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/id.py rename to tests/regressiontests/localflavor/id/tests.py diff --git a/tests/regressiontests/localflavor/ie/__init__.py b/tests/regressiontests/localflavor/ie/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/ie.py b/tests/regressiontests/localflavor/ie/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/ie.py rename to tests/regressiontests/localflavor/ie/tests.py diff --git a/tests/regressiontests/localflavor/il/__init__.py b/tests/regressiontests/localflavor/il/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/il.py b/tests/regressiontests/localflavor/il/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/il.py rename to tests/regressiontests/localflavor/il/tests.py diff --git a/tests/regressiontests/localflavor/in_/__init__.py b/tests/regressiontests/localflavor/in_/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/in_.py b/tests/regressiontests/localflavor/in_/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/in_.py rename to tests/regressiontests/localflavor/in_/tests.py diff --git a/tests/regressiontests/localflavor/is_/__init__.py b/tests/regressiontests/localflavor/is_/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/is_.py b/tests/regressiontests/localflavor/is_/tests.py similarity index 99% rename from tests/regressiontests/forms/localflavor/is_.py rename to tests/regressiontests/localflavor/is_/tests.py index c28750fab2..a252734feb 100644 --- a/tests/regressiontests/forms/localflavor/is_.py +++ b/tests/regressiontests/localflavor/is_/tests.py @@ -157,7 +157,7 @@ class ISLocalFlavorTests(SimpleTestCase): <option value="902">902 Vestmannaeyjar</option> </select>''' self.assertEqual(f.render('foo', 'bar'), out) - + def test_ISIdNumberField(self): error_atleast = [u'Ensure this value has at least 10 characters (it has 9).'] error_invalid = [u'Enter a valid Icelandic identification number. The format is XXXXXX-XXXX.'] @@ -174,10 +174,10 @@ class ISLocalFlavorTests(SimpleTestCase): '230880343234': error_atmost + error_invalid, 'abcdefghijk': error_invalid, '2308803439': error_notvalid, - + } self.assertFieldOutput(ISIdNumberField, valid, invalid) - + def test_ISPhoneNumberField(self): error_invalid = [u'Enter a valid value.'] error_atleast = [u'Ensure this value has at least 7 characters (it has 6).'] @@ -196,4 +196,3 @@ class ISLocalFlavorTests(SimpleTestCase): ' 12367 ': error_invalid } self.assertFieldOutput(ISPhoneNumberField, valid, invalid) - diff --git a/tests/regressiontests/localflavor/it/__init__.py b/tests/regressiontests/localflavor/it/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/it.py b/tests/regressiontests/localflavor/it/tests.py similarity index 99% rename from tests/regressiontests/forms/localflavor/it.py rename to tests/regressiontests/localflavor/it/tests.py index 456a56bf34..cd2a7a3d60 100644 --- a/tests/regressiontests/forms/localflavor/it.py +++ b/tests/regressiontests/localflavor/it/tests.py @@ -40,7 +40,7 @@ class ITLocalFlavorTests(SimpleTestCase): ' 00100': error_invalid, } self.assertFieldOutput(ITZipCodeField, valid, invalid) - + def test_ITSocialSecurityNumberField(self): error_invalid = [u'Enter a valid Social Security number.'] valid = { @@ -54,7 +54,7 @@ class ITLocalFlavorTests(SimpleTestCase): '%BRRME11A01L736W': error_invalid, } self.assertFieldOutput(ITSocialSecurityNumberField, valid, invalid) - + def test_ITVatNumberField(self): error_invalid = [u'Enter a valid VAT number.'] valid = { @@ -67,4 +67,3 @@ class ITLocalFlavorTests(SimpleTestCase): 'A7973780013': error_invalid, } self.assertFieldOutput(ITVatNumberField, valid, invalid) - diff --git a/tests/regressiontests/localflavor/jp/__init__.py b/tests/regressiontests/localflavor/jp/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/jp.py b/tests/regressiontests/localflavor/jp/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/jp.py rename to tests/regressiontests/localflavor/jp/tests.py diff --git a/tests/regressiontests/localflavor/kw/__init__.py b/tests/regressiontests/localflavor/kw/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/kw.py b/tests/regressiontests/localflavor/kw/tests.py similarity index 99% rename from tests/regressiontests/forms/localflavor/kw.py rename to tests/regressiontests/localflavor/kw/tests.py index 3dfeef5469..c46241f4f4 100644 --- a/tests/regressiontests/forms/localflavor/kw.py +++ b/tests/regressiontests/localflavor/kw/tests.py @@ -13,4 +13,3 @@ class KWLocalFlavorTests(SimpleTestCase): '289332013455': error_invalid, } self.assertFieldOutput(KWCivilIDNumberField, valid, invalid) - diff --git a/tests/regressiontests/localflavor/mk/tests.py b/tests/regressiontests/localflavor/mk/tests.py index f7f2981a85..754db2d93c 100644 --- a/tests/regressiontests/localflavor/mk/tests.py +++ b/tests/regressiontests/localflavor/mk/tests.py @@ -1,7 +1,11 @@ -from django.test import TestCase +from django.contrib.localflavor.mk.forms import ( + MKIdentityCardNumberField, MKMunicipalitySelect, UMCNField) +from django.test import SimpleTestCase + from forms import MKPersonForm -class MKLocalflavorTests(TestCase): +class MKLocalflavorTests(SimpleTestCase): + def setUp(self): self.form = MKPersonForm({ 'first_name':'Someone', @@ -174,3 +178,127 @@ class MKLocalflavorTests(TestCase): <option value="SO">\xc5\xa0uto Orizari</option> </select>""" self.assertEqual(str(self.form['municipality']), municipality_select_html) + + def test_MKIdentityCardNumberField(self): + error_invalid = [u'Identity card numbers must contain either 4 to 7 ' + 'digits or an uppercase letter and 7 digits.'] + valid = { + 'L0018077':'L0018077', + 'A0078315' : 'A0078315', + } + invalid = { + '123': error_invalid, + 'abcdf': error_invalid, + '234390a': error_invalid, + } + self.assertFieldOutput(MKIdentityCardNumberField, valid, invalid) + + def test_MKMunicipalitySelect(self): + f = MKMunicipalitySelect() + out=u'''<select name="municipality"> +<option value="AD">Aerodrom</option> +<option value="AR">Ara\u010dinovo</option> +<option value="BR">Berovo</option> +<option value="TL">Bitola</option> +<option value="BG">Bogdanci</option> +<option value="VJ">Bogovinje</option> +<option value="BS">Bosilovo</option> +<option value="BN">Brvenica</option> +<option value="BU">Butel</option> +<option value="VA">Valandovo</option> +<option value="VL">Vasilevo</option> +<option value="VV">Vev\u010dani</option> +<option value="VE">Veles</option> +<option value="NI">Vinica</option> +<option value="VC">Vrane\u0161tica</option> +<option value="VH">Vrap\u010di\u0161te</option> +<option value="GB">Gazi Baba</option> +<option value="GV">Gevgelija</option> +<option value="GT">Gostivar</option> +<option value="GR">Gradsko</option> +<option value="DB">Debar</option> +<option value="DA">Debarca</option> +<option value="DL" selected="selected">Del\u010devo</option> +<option value="DK">Demir Kapija</option> +<option value="DM">Demir Hisar</option> +<option value="DE">Dolneni</option> +<option value="DR">Drugovo</option> +<option value="GP">Gjor\u010de Petrov</option> +<option value="ZE">\u017delino</option> +<option value="ZA">Zajas</option> +<option value="ZK">Zelenikovo</option> +<option value="ZR">Zrnovci</option> +<option value="IL">Ilinden</option> +<option value="JG">Jegunovce</option> +<option value="AV">Kavadarci</option> +<option value="KB">Karbinci</option> +<option value="KX">Karpo\u0161</option> +<option value="VD">Kisela Voda</option> +<option value="KH">Ki\u010devo</option> +<option value="KN">Kon\u010de</option> +<option value="OC">Ko\u0107ani</option> +<option value="KY">Kratovo</option> +<option value="KZ">Kriva Palanka</option> +<option value="KG">Krivoga\u0161tani</option> +<option value="KS">Kru\u0161evo</option> +<option value="UM">Kumanovo</option> +<option value="LI">Lipkovo</option> +<option value="LO">Lozovo</option> +<option value="MR">Mavrovo i Rostu\u0161a</option> +<option value="MK">Makedonska Kamenica</option> +<option value="MD">Makedonski Brod</option> +<option value="MG">Mogila</option> +<option value="NG">Negotino</option> +<option value="NV">Novaci</option> +<option value="NS">Novo Selo</option> +<option value="OS">Oslomej</option> +<option value="OD">Ohrid</option> +<option value="PE">Petrovec</option> +<option value="PH">Peh\u010devo</option> +<option value="PN">Plasnica</option> +<option value="PP">Prilep</option> +<option value="PT">Probi\u0161tip</option> +<option value="RV">Radovi\u0161</option> +<option value="RN">Rankovce</option> +<option value="RE">Resen</option> +<option value="RO">Rosoman</option> +<option value="AJ">Saraj</option> +<option value="SL">Sveti Nikole</option> +<option value="SS">Sopi\u0161te</option> +<option value="SD">Star Dojran</option> +<option value="NA">Staro Nagori\u010dane</option> +<option value="UG">Struga</option> +<option value="RU">Strumica</option> +<option value="SU">Studeni\u010dani</option> +<option value="TR">Tearce</option> +<option value="ET">Tetovo</option> +<option value="CE">Centar</option> +<option value="CZ">Centar-\u017dupa</option> +<option value="CI">\u010cair</option> +<option value="CA">\u010ca\u0161ka</option> +<option value="CH">\u010ce\u0161inovo-Oble\u0161evo</option> +<option value="CS">\u010cu\u010der-Sandevo</option> +<option value="ST">\u0160tip</option> +<option value="SO">\u0160uto Orizari</option> +</select>''' + self.assertEqual(f.render('municipality', 'DL' ), out) + + def test_UMCNField(self): + error_invalid = [u'This field should contain exactly 13 digits.'] + error_checksum = [u'The UMCN is not valid.'] + error_date = [u'The first 7 digits of the UMCN ' + 'must represent a valid past date.'] + valid = { + '2402983450006': '2402983450006', + '2803984430038': '2803984430038', + '1909982045004': '1909982045004', + } + invalid = { + '240298345': error_invalid, + 'abcdefghj': error_invalid, + '2402082450006': error_date, + '3002982450006': error_date, + '2402983450007': error_checksum, + '2402982450006': error_checksum, + } + self.assertFieldOutput(UMCNField, valid, invalid) diff --git a/tests/regressiontests/localflavor/mx/mx.py b/tests/regressiontests/localflavor/mx/mx.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/localflavor/mx/tests.py b/tests/regressiontests/localflavor/mx/tests.py index 40da38a97c..892dc9dc1c 100644 --- a/tests/regressiontests/localflavor/mx/tests.py +++ b/tests/regressiontests/localflavor/mx/tests.py @@ -1,8 +1,12 @@ # -*- coding: utf-8 -*- -from django.test import TestCase +from django.contrib.localflavor.mx.forms import (MXZipCodeField, MXRFCField, + MXStateSelect, MXCURPField) +from django.test import SimpleTestCase + from forms import MXPersonProfileForm -class MXLocalFlavorTests(TestCase): +class MXLocalFlavorTests(SimpleTestCase): + def setUp(self): self.form = MXPersonProfileForm({ 'state': 'MIC', @@ -69,3 +73,123 @@ class MXLocalFlavorTests(TestCase): <option value="ZAC">Zacatecas</option> </select>""" self.assertEqual(str(self.form['state']), state_select_html) + + def test_MXStateSelect(self): + f = MXStateSelect() + out = u'''<select name="state"> +<option value="AGU">Aguascalientes</option> +<option value="BCN">Baja California</option> +<option value="BCS">Baja California Sur</option> +<option value="CAM">Campeche</option> +<option value="CHH">Chihuahua</option> +<option value="CHP">Chiapas</option> +<option value="COA">Coahuila</option> +<option value="COL">Colima</option> +<option value="DIF">Distrito Federal</option> +<option value="DUR">Durango</option> +<option value="GRO">Guerrero</option> +<option value="GUA">Guanajuato</option> +<option value="HID">Hidalgo</option> +<option value="JAL">Jalisco</option> +<option value="MEX">Estado de México</option> +<option value="MIC" selected="selected">Michoacán</option> +<option value="MOR">Morelos</option> +<option value="NAY">Nayarit</option> +<option value="NLE">Nuevo León</option> +<option value="OAX">Oaxaca</option> +<option value="PUE">Puebla</option> +<option value="QUE">Querétaro</option> +<option value="ROO">Quintana Roo</option> +<option value="SIN">Sinaloa</option> +<option value="SLP">San Luis Potosí</option> +<option value="SON">Sonora</option> +<option value="TAB">Tabasco</option> +<option value="TAM">Tamaulipas</option> +<option value="TLA">Tlaxcala</option> +<option value="VER">Veracruz</option> +<option value="YUC">Yucatán</option> +<option value="ZAC">Zacatecas</option> +</select>''' + self.assertEqual(f.render('state', 'MIC'), out) + + def test_MXZipCodeField(self): + error_format = [u'Enter a valid zip code in the format XXXXX.'] + valid = { + '58120': u'58120', + '58502': u'58502', + '59310': u'59310', + '99999': u'99999', + } + invalid = { + '17000': error_format, + '18000': error_format, + '19000': error_format, + '00000': error_format, + } + self.assertFieldOutput(MXZipCodeField, valid, invalid) + + def test_MXRFCField(self): + error_format = [u'Enter a valid RFC.'] + error_checksum = [u'Invalid checksum for RFC.'] + valid = { + 'MoFN641205eX5': u'MOFN641205EX5', + 'ICa060120873': u'ICA060120873', + 'eUcG751104rT0': u'EUCG751104RT0', + 'GME08100195A': u'GME08100195A', + 'AA&060524KX5': u'AA&060524KX5', + 'CAÑ0708045P7': u'CAÑ0708045P7', + 'aaa000101aa9': u'AAA000101AA9', + } + invalid = { + 'MED0000000XA': error_format, + '0000000000XA': error_format, + 'AAA000000AA6': error_format, + # Dates + 'XXX880002XXX': error_format, + 'XXX880200XXX': error_format, + 'XXX880132XXX': error_format, + 'XXX880230XXX': error_format, + 'XXX880431XXX': error_format, + # Incorrect checksum + 'MOGR650524E73': error_checksum, + 'HVA7810058F1': error_checksum, + 'MoFN641205eX2': error_checksum, + 'ICa060120871': error_checksum, + 'eUcG751104rT7': error_checksum, + 'GME081001955': error_checksum, + 'AA&060524KX9': error_checksum, + 'CAÑ0708045P2': error_checksum, + } + self.assertFieldOutput(MXRFCField, valid, invalid) + + def test_MXCURPField(self): + error_format = [u'Enter a valid CURP.'] + error_checksum = [u'Invalid checksum for CURP.'] + valid = { + 'AaMG890608HDFLJL00': u'AAMG890608HDFLJL00', + 'BAAd890419HMNRRV07': u'BAAD890419HMNRRV07', + 'VIAA900930MMNClL08': u'VIAA900930MMNCLL08', + 'HEGR891009HMNRRD09': u'HEGR891009HMNRRD09', + 'MARR890512HMNRMN09': u'MARR890512HMNRMN09', + 'MESJ890928HMNZNS00': u'MESJ890928HMNZNS00', + 'BAAA890317HDFRLL03': u'BAAA890317HDFRLL03', + 'TOMA880125HMNRRNO2': u'TOMA880125HMNRRNO2', + 'OOMG890727HMNRSR06': u'OOMG890727HMNRSR06', + 'AAAA000101HDFCCC09': u'AAAA000101HDFCCC09', + } + invalid = { + 'AAAA000000HDFCCC09': error_format, + 'AAAA000000HDFAAA03': error_format, + 'AAAA000000HXXCCC08': error_format, + 'AAAA000000XMNCCC02': error_format, + 'HEGR891009HMNRRD0A': error_format, + 'MARR890512HMNRMN0A': error_format, + 'AaMG890608HDFLJL01': error_checksum, + 'BAAd890419HMNRRV08': error_checksum, + 'VIAA900930MMNClL09': error_checksum, + 'MESJ890928HMNZNS01': error_checksum, + 'BAAA890317HDFRLL04': error_checksum, + 'TOMA880125HMNRRNO3': error_checksum, + 'OOMG890727HMNRSR07': error_checksum, + } + self.assertFieldOutput(MXCURPField, valid, invalid) diff --git a/tests/regressiontests/localflavor/nl/__init__.py b/tests/regressiontests/localflavor/nl/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/nl.py b/tests/regressiontests/localflavor/nl/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/nl.py rename to tests/regressiontests/localflavor/nl/tests.py diff --git a/tests/regressiontests/localflavor/pl/__init__.py b/tests/regressiontests/localflavor/pl/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/pl.py b/tests/regressiontests/localflavor/pl/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/pl.py rename to tests/regressiontests/localflavor/pl/tests.py diff --git a/tests/regressiontests/localflavor/pt/__init__.py b/tests/regressiontests/localflavor/pt/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/pt.py b/tests/regressiontests/localflavor/pt/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/pt.py rename to tests/regressiontests/localflavor/pt/tests.py diff --git a/tests/regressiontests/localflavor/py/__init__.py b/tests/regressiontests/localflavor/py/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/py.py b/tests/regressiontests/localflavor/py/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/py.py rename to tests/regressiontests/localflavor/py/tests.py diff --git a/tests/regressiontests/localflavor/ro/__init__.py b/tests/regressiontests/localflavor/ro/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/ro.py b/tests/regressiontests/localflavor/ro/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/ro.py rename to tests/regressiontests/localflavor/ro/tests.py diff --git a/tests/regressiontests/localflavor/ru/__init__.py b/tests/regressiontests/localflavor/ru/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/ru.py b/tests/regressiontests/localflavor/ru/tests.py similarity index 99% rename from tests/regressiontests/forms/localflavor/ru.py rename to tests/regressiontests/localflavor/ru/tests.py index aecc5598b2..bc292dacc9 100644 --- a/tests/regressiontests/forms/localflavor/ru.py +++ b/tests/regressiontests/localflavor/ru/tests.py @@ -1,5 +1,5 @@ from django.contrib.localflavor.ru.forms import * - + from django.test import SimpleTestCase diff --git a/tests/regressiontests/localflavor/se/__init__.py b/tests/regressiontests/localflavor/se/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/se.py b/tests/regressiontests/localflavor/se/tests.py similarity index 99% rename from tests/regressiontests/forms/localflavor/se.py rename to tests/regressiontests/localflavor/se/tests.py index 50720bba55..4ae3eaed03 100644 --- a/tests/regressiontests/forms/localflavor/se.py +++ b/tests/regressiontests/localflavor/se/tests.py @@ -162,4 +162,3 @@ class SELocalFlavorTests(SimpleTestCase): } self.assertFieldOutput(SEPostalCodeField, valid, invalid) - diff --git a/tests/regressiontests/localflavor/sk/__init__.py b/tests/regressiontests/localflavor/sk/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/sk.py b/tests/regressiontests/localflavor/sk/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/sk.py rename to tests/regressiontests/localflavor/sk/tests.py diff --git a/tests/regressiontests/localflavor/tests.py b/tests/regressiontests/localflavor/tests.py index 95a5f99128..155f7f759f 100644 --- a/tests/regressiontests/localflavor/tests.py +++ b/tests/regressiontests/localflavor/tests.py @@ -1,5 +1,41 @@ +from ar.tests import * +from at.tests import * from au.tests import * +from be.tests import * +from br.tests import * +from ca.tests import * +from ch.tests import * +from cl.tests import * +from cn.tests import * +from co.tests import * +from cz.tests import * +from de.tests import * +from ec.tests import * +from es.tests import * +from fi.tests import * +from fr.tests import * +from gb.tests import * +from generic.tests import * +from hr.tests import * +from id.tests import * +from ie.tests import * +from il.tests import * +from in_.tests import * +from is_.tests import * +from it.tests import * +from jp.tests import * +from kw.tests import * from mk.tests import * from mx.tests import * +from nl.tests import * +from pl.tests import * +from pt.tests import * +from py.tests import * +from ro.tests import * +from ru.tests import * +from se.tests import * +from sk.tests import * +from tr.tests import * from us.tests import * - +from uy.tests import * +from za.tests import * diff --git a/tests/regressiontests/localflavor/tr/__init__.py b/tests/regressiontests/localflavor/tr/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/tr.py b/tests/regressiontests/localflavor/tr/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/tr.py rename to tests/regressiontests/localflavor/tr/tests.py diff --git a/tests/regressiontests/localflavor/us/tests.py b/tests/regressiontests/localflavor/us/tests.py index 59bb6017b3..758dc0bf32 100644 --- a/tests/regressiontests/localflavor/us/tests.py +++ b/tests/regressiontests/localflavor/us/tests.py @@ -1,7 +1,12 @@ -from django.test import TestCase +from django.contrib.localflavor.us.forms import (USZipCodeField, + USPhoneNumberField, USStateField, USStateSelect, + USSocialSecurityNumberField) +from django.test import SimpleTestCase + from forms import USPlaceForm -class USLocalflavorTests(TestCase): +class USLocalflavorTests(SimpleTestCase): + def setUp(self): self.form = USPlaceForm({'state':'GA', 'state_req':'NC', 'postal_code': 'GA', 'name':'impossible'}) @@ -153,3 +158,126 @@ class USLocalflavorTests(TestCase): <option value="WY">Wyoming</option> </select>""" self.assertEqual(str(self.form['postal_code']), usps_select_html) + + def test_USStateSelect(self): + f = USStateSelect() + out = u'''<select name="state"> +<option value="AL">Alabama</option> +<option value="AK">Alaska</option> +<option value="AS">American Samoa</option> +<option value="AZ">Arizona</option> +<option value="AR">Arkansas</option> +<option value="AA">Armed Forces Americas</option> +<option value="AE">Armed Forces Europe</option> +<option value="AP">Armed Forces Pacific</option> +<option value="CA">California</option> +<option value="CO">Colorado</option> +<option value="CT">Connecticut</option> +<option value="DE">Delaware</option> +<option value="DC">District of Columbia</option> +<option value="FL">Florida</option> +<option value="GA">Georgia</option> +<option value="GU">Guam</option> +<option value="HI">Hawaii</option> +<option value="ID">Idaho</option> +<option value="IL" selected="selected">Illinois</option> +<option value="IN">Indiana</option> +<option value="IA">Iowa</option> +<option value="KS">Kansas</option> +<option value="KY">Kentucky</option> +<option value="LA">Louisiana</option> +<option value="ME">Maine</option> +<option value="MD">Maryland</option> +<option value="MA">Massachusetts</option> +<option value="MI">Michigan</option> +<option value="MN">Minnesota</option> +<option value="MS">Mississippi</option> +<option value="MO">Missouri</option> +<option value="MT">Montana</option> +<option value="NE">Nebraska</option> +<option value="NV">Nevada</option> +<option value="NH">New Hampshire</option> +<option value="NJ">New Jersey</option> +<option value="NM">New Mexico</option> +<option value="NY">New York</option> +<option value="NC">North Carolina</option> +<option value="ND">North Dakota</option> +<option value="MP">Northern Mariana Islands</option> +<option value="OH">Ohio</option> +<option value="OK">Oklahoma</option> +<option value="OR">Oregon</option> +<option value="PA">Pennsylvania</option> +<option value="PR">Puerto Rico</option> +<option value="RI">Rhode Island</option> +<option value="SC">South Carolina</option> +<option value="SD">South Dakota</option> +<option value="TN">Tennessee</option> +<option value="TX">Texas</option> +<option value="UT">Utah</option> +<option value="VT">Vermont</option> +<option value="VI">Virgin Islands</option> +<option value="VA">Virginia</option> +<option value="WA">Washington</option> +<option value="WV">West Virginia</option> +<option value="WI">Wisconsin</option> +<option value="WY">Wyoming</option> +</select>''' + self.assertEqual(f.render('state', 'IL'), out) + + def test_USZipCodeField(self): + error_format = [u'Enter a zip code in the format XXXXX or XXXXX-XXXX.'] + valid = { + '60606': '60606', + 60606: '60606', + '04000': '04000', + '60606-1234': '60606-1234', + } + invalid = { + '4000': error_format, + '6060-1234': error_format, + '60606-': error_format, + } + self.assertFieldOutput(USZipCodeField, valid, invalid) + + def test_USPhoneNumberField(self): + error_format = [u'Phone numbers must be in XXX-XXX-XXXX format.'] + valid = { + '312-555-1212': '312-555-1212', + '3125551212': '312-555-1212', + '312 555-1212': '312-555-1212', + '(312) 555-1212': '312-555-1212', + '312 555 1212': '312-555-1212', + '312.555.1212': '312-555-1212', + '312.555-1212': '312-555-1212', + ' (312) 555.1212 ': '312-555-1212', + } + invalid = { + '555-1212': error_format, + '312-55-1212': error_format, + } + self.assertFieldOutput(USPhoneNumberField, valid, invalid) + + def test_USStateField(self): + error_invalid = [u'Enter a U.S. state or territory.'] + valid = { + 'il': 'IL', + 'IL': 'IL', + 'illinois': 'IL', + ' illinois ': 'IL', + } + invalid = { + 60606: error_invalid, + } + self.assertFieldOutput(USStateField, valid, invalid) + + def test_USSocialSecurityNumberField(self): + error_invalid = [u'Enter a valid U.S. Social Security number in XXX-XX-XXXX format.'] + + valid = { + '987-65-4330': '987-65-4330', + '987654330': '987-65-4330', + } + invalid = { + '078-05-1120': error_invalid, + } + self.assertFieldOutput(USSocialSecurityNumberField, valid, invalid) diff --git a/tests/regressiontests/localflavor/uy/__init__.py b/tests/regressiontests/localflavor/uy/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/uy.py b/tests/regressiontests/localflavor/uy/tests.py similarity index 99% rename from tests/regressiontests/forms/localflavor/uy.py rename to tests/regressiontests/localflavor/uy/tests.py index ea1109e932..6c9599fff6 100644 --- a/tests/regressiontests/forms/localflavor/uy.py +++ b/tests/regressiontests/localflavor/uy/tests.py @@ -29,7 +29,7 @@ class UYLocalFlavorTests(SimpleTestCase): <option value="D">Treinta y Tres</option> </select>''' self.assertEqual(f.render('departamentos', 'S'), out) - + def test_UYCIField(self): error_format = [u'Enter a valid CI number in X.XXX.XXX-X,XXXXXXX-X or XXXXXXXX format.'] error_invalid = [u'Enter a valid CI number.'] @@ -49,4 +49,3 @@ class UYLocalFlavorTests(SimpleTestCase): self.assertFieldOutput(UYCIField, valid, invalid) self.assertEqual(get_validation_digit(409805), 3) self.assertEqual(get_validation_digit(1005411), 2) - diff --git a/tests/regressiontests/localflavor/za/__init__.py b/tests/regressiontests/localflavor/za/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/forms/localflavor/za.py b/tests/regressiontests/localflavor/za/tests.py similarity index 100% rename from tests/regressiontests/forms/localflavor/za.py rename to tests/regressiontests/localflavor/za/tests.py