diff options
| author | Jannis Leidel <jannis@leidel.info> | 2011-07-29 10:20:16 +0000 |
|---|---|---|
| committer | Jannis Leidel <jannis@leidel.info> | 2011-07-29 10:20:16 +0000 |
| commit | 0fbadfd1c8ce30fd4c9f2857d467047d5bfac63d (patch) | |
| tree | f4375be27f4ddc0416e21e61e74048ff41289258 /tests/regressiontests/forms | |
| parent | 4a6e1b56135b1a413576ea1a6d469387a1a5eb6d (diff) | |
Fixed #16497 -- Added new form and model fields to the Mexican local flavor. Many thanks to Andrés Torres Marroquín and Gerardo Orozco.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16572 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/forms')
| -rw-r--r-- | tests/regressiontests/forms/localflavor/mx.py | 127 | ||||
| -rw-r--r-- | tests/regressiontests/forms/localflavortests.py | 1 | ||||
| -rw-r--r-- | tests/regressiontests/forms/tests/__init__.py | 1 |
3 files changed, 129 insertions, 0 deletions
diff --git a/tests/regressiontests/forms/localflavor/mx.py b/tests/regressiontests/forms/localflavor/mx.py new file mode 100644 index 0000000000..1ffc11c834 --- /dev/null +++ b/tests/regressiontests/forms/localflavor/mx.py @@ -0,0 +1,127 @@ +# -*- coding: utf-8 -*- +from django.contrib.localflavor.mx.forms import (MXZipCodeField, MXRFCField, + MXStateSelect, MXCURPField) + +from utils import LocalFlavorTestCase + + +class MXLocalFlavorTests(LocalFlavorTestCase): + 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/localflavortests.py b/tests/regressiontests/forms/localflavortests.py index eb289b5a68..a4db3dba98 100644 --- a/tests/regressiontests/forms/localflavortests.py +++ b/tests/regressiontests/forms/localflavortests.py @@ -27,6 +27,7 @@ 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 diff --git a/tests/regressiontests/forms/tests/__init__.py b/tests/regressiontests/forms/tests/__init__.py index c45b25b374..f63818d578 100644 --- a/tests/regressiontests/forms/tests/__init__.py +++ b/tests/regressiontests/forms/tests/__init__.py @@ -40,6 +40,7 @@ from regressiontests.forms.localflavortests import ( JPLocalFlavorTests, KWLocalFlavorTests, MKLocalFlavorTests, + MXLocalFlavorTests, NLLocalFlavorTests, PLLocalFlavorTests, PTLocalFlavorTests, |
