From 43024142a14afe0b364895e88e0836dcb83dbef8 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Tue, 23 Aug 2011 04:41:56 +0000 Subject: Fixed #16202 -- Added a Slovenian localflavor. Thanks to Jure Cuhalev , Gasper Zejn, Domen Kozar and iElectric for the patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16662 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- tests/regressiontests/forms/localflavor/si.py | 556 ++++++++++++++++++++++++ tests/regressiontests/forms/localflavortests.py | 1 + tests/regressiontests/forms/tests/__init__.py | 1 + 3 files changed, 558 insertions(+) create mode 100644 tests/regressiontests/forms/localflavor/si.py (limited to 'tests/regressiontests/forms') diff --git a/tests/regressiontests/forms/localflavor/si.py b/tests/regressiontests/forms/localflavor/si.py new file mode 100644 index 0000000000..838a441675 --- /dev/null +++ b/tests/regressiontests/forms/localflavor/si.py @@ -0,0 +1,556 @@ +# -*- coding: utf-8 -*- + +from datetime import date + +from django.contrib.localflavor.si.forms import (SIEMSOField, SITaxNumberField, + SIPhoneNumberField, SIPostalCodeField, SIPostalCodeSelect) + +from utils import LocalFlavorTestCase + + +class SILocalFlavorTests(LocalFlavorTestCase): + def test_SITaxNumberField(self): + error_invalid = [u'Enter a valid tax number in form SIXXXXXXXX'] + valid = { + '15012557': '15012557', + 'SI15012557': '15012557', + '22111310': '22111310', + } + invalid = { + '22241310': error_invalid, + '15012558': error_invalid, + '1501': error_invalid, + '1501123123123': error_invalid, + 'abcdabcd': error_invalid, + '01234579': error_invalid, + } + self.assertFieldOutput(SITaxNumberField, valid, invalid) + + def test_SIEMSOField(self): + error_invalid = [u'This field should contain exactly 13 digits.'] + error_invalid_date = [u'The first 7 digits of the EMSO must represent a valid past date.'] + error_invalid_chksum = [u'The EMSO is not valid.'] + valid = { + '0205951500462': '0205951500462', + '2309002500068': '2309002500068', + '1010985500400': '1010985500400', + } + invalid = { + '0205951500463': error_invalid_chksum, + '020': error_invalid, + '020020595150046020595150046': error_invalid, + 'aaaabbbbccccd': error_invalid, + '1010985500800': error_invalid_chksum, + '2020095500070': error_invalid_date, + '5050095500078': error_invalid_date, + '1010889500408': error_invalid_date, + } + self.assertFieldOutput(SIEMSOField, valid, invalid) + + def test_SIEMSOField_info_dict(self): + valid = { + '0205951500462': {'nationality': 50, 'gender': 'male', 'birthdate': date(1951, 5, 2)}, + '2309002504063': {'nationality': 50, 'gender': 'male', 'birthdate': date(2002, 9, 23)}, + '1010985505402': {'nationality': 50, 'gender': 'female', 'birthdate': date(1985, 10, 10)}, + } + for input, info in valid.items(): + f = SIEMSOField() + f.clean(input) + self.assertEqual(f.info, info) + + def test_SIPhoneNumberField(self): + error_invalid = [u'Enter phone number in form +386XXXXXXXX or 0XXXXXXXX.'] + valid = { + '+38640999999': '40999999', + '+3861999999': '1999999', + '0038640999999': '40999999', + '040999999': '40999999', + '01999999': '1999999', + '059099999': '59099999', + '059 09 99 99': '59099999', + '0590/999-99': '59099999', + } + invalid = { + '03861999999': error_invalid, + '3861999999': error_invalid, + } + self.assertFieldOutput(SIPhoneNumberField, valid, invalid) + + def test_SIPostalCodeField(self): + valid = { + '4000': '4000', + '1000': '1000' + } + invalid = { + '1113': [u'Select a valid choice. 1113 is not one of the available choices.'], + '111': [u'Select a valid choice. 111 is not one of the available choices.'], + } + self.assertFieldOutput(SIPostalCodeField, valid, invalid) + + def test_SIPostalCodeSelect(self): + f = SIPostalCodeSelect() + out = u'''''' diff --git a/tests/regressiontests/forms/localflavortests.py b/tests/regressiontests/forms/localflavortests.py index 6a3fb2322e..7faea28c6c 100644 --- a/tests/regressiontests/forms/localflavortests.py +++ b/tests/regressiontests/forms/localflavortests.py @@ -34,6 +34,7 @@ from localflavor.py import PYLocalFlavorTests from localflavor.ro import ROLocalFlavorTests from localflavor.ru import RULocalFlavorTests from localflavor.se import SELocalFlavorTests +from localflavor.si import SILocalFlavorTests from localflavor.sk import SKLocalFlavorTests from localflavor.tr import TRLocalFlavorTests from localflavor.us import USLocalFlavorTests diff --git a/tests/regressiontests/forms/tests/__init__.py b/tests/regressiontests/forms/tests/__init__.py index 9570835aa9..8f7e582905 100644 --- a/tests/regressiontests/forms/tests/__init__.py +++ b/tests/regressiontests/forms/tests/__init__.py @@ -48,6 +48,7 @@ from regressiontests.forms.localflavortests import ( ROLocalFlavorTests, RULocalFlavorTests, SELocalFlavorTests, + SILocalFlavorTests, SKLocalFlavorTests, TRLocalFlavorTests, USLocalFlavorTests, -- cgit v1.3