summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2010-10-11 23:35:23 +0000
committerJannis Leidel <jannis@leidel.info>2010-10-11 23:35:23 +0000
commit6ddfe269324ab4220b9e20ea86b6cc0197ab1fc2 (patch)
treef52910cd12a4e71db94f2ad668e42800289a642a /tests
parentd7397370153b2b0766bb8e405b3c3299cc3835f8 (diff)
Fixed #14349 -- Added Belgium localflavor. Thanks for the report and patch, Laurent Luce.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14160 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/forms/localflavor/be.py94
-rw-r--r--tests/regressiontests/forms/tests.py1
2 files changed, 95 insertions, 0 deletions
diff --git a/tests/regressiontests/forms/localflavor/be.py b/tests/regressiontests/forms/localflavor/be.py
new file mode 100644
index 0000000000..8789d9f89d
--- /dev/null
+++ b/tests/regressiontests/forms/localflavor/be.py
@@ -0,0 +1,94 @@
+from django.test import TestCase
+from django.forms import *
+
+from django.contrib.localflavor.be.forms import (BEPostalCodeField,
+ BEPhoneNumberField, BERegionSelect, BEProvinceSelect)
+
+class BETests(TestCase):
+ """
+ Test case to validate BE localflavor
+ """
+ def assertRaisesErrorWithMessage(self, error, message, callable, *args, **kwargs):
+ self.assertRaises(error, callable, *args, **kwargs)
+ try:
+ callable(*args, **kwargs)
+ except error, e:
+ self.assertEqual(message, str(e))
+
+ def test_postal_code_field(self):
+ f = BEPostalCodeField()
+ self.assertEqual(u'1451', f.clean('1451'))
+ self.assertEqual(u'2540', f.clean('2540'))
+ err_message = "[u'Enter a valid postal code in the range and format 1XXX - 9XXX.']"
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '0287')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '14309')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '873')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '35 74')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '859A')
+ err_message = "[u'This field is required.']"
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '')
+ f = BEPostalCodeField(required=False)
+ self.assertEqual(u'1451', f.clean('1451'))
+ self.assertEqual(u'2540', f.clean('2540'))
+ self.assertEqual(u'', f.clean(''))
+ err_message = "[u'Enter a valid postal code in the range and format 1XXX - 9XXX.']"
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '0287')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '14309')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '873')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '35 74')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '859A')
+
+ def test_phone_number_field(self):
+ f = BEPhoneNumberField()
+ self.assertEqual(u'01 234 56 78', f.clean('01 234 56 78'))
+ self.assertEqual(u'01/234.56.78', f.clean('01/234.56.78'))
+ self.assertEqual(u'01.234.56.78', f.clean('01.234.56.78'))
+ self.assertEqual(u'012 34 56 78', f.clean('012 34 56 78'))
+ self.assertEqual(u'012/34.56.78', f.clean('012/34.56.78'))
+ self.assertEqual(u'012.34.56.78', f.clean('012.34.56.78'))
+ self.assertEqual(u'0412 34 56 78', f.clean('0412 34 56 78'))
+ self.assertEqual(u'0412/34.56.78', f.clean('0412/34.56.78'))
+ self.assertEqual(u'0412.34.56.78', f.clean('0412.34.56.78'))
+ self.assertEqual(u'012345678', f.clean('012345678'))
+ self.assertEqual(u'0412345678', f.clean('0412345678'))
+ err_message = "[u'Enter a valid phone number in one of the formats 0x xxx xx xx, 0xx xx xx xx, 04xx xx xx xx, 0x/xxx.xx.xx, 0xx/xx.xx.xx, 04xx/xx.xx.xx, 0xxxxxxxx, 04xxxxxxxx, 0x.xxx.xx.xx, 0xx.xx.xx.xx, 04xx.xx.xx.xx.']"
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '01234567')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '12/345.67.89')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '012/345.678.90')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '012/34.56.789')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '0123/45.67.89')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '012/345 678 90')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '012/34 56 789')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '012.34 56 789')
+ err_message = "[u'This field is required.']"
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '')
+ f = BEPhoneNumberField(required=False)
+ self.assertEqual(u'01 234 56 78', f.clean('01 234 56 78'))
+ self.assertEqual(u'01/234.56.78', f.clean('01/234.56.78'))
+ self.assertEqual(u'01.234.56.78', f.clean('01.234.56.78'))
+ self.assertEqual(u'012 34 56 78', f.clean('012 34 56 78'))
+ self.assertEqual(u'012/34.56.78', f.clean('012/34.56.78'))
+ self.assertEqual(u'012.34.56.78', f.clean('012.34.56.78'))
+ self.assertEqual(u'0412 34 56 78', f.clean('0412 34 56 78'))
+ self.assertEqual(u'0412/34.56.78', f.clean('0412/34.56.78'))
+ self.assertEqual(u'0412.34.56.78', f.clean('0412.34.56.78'))
+ self.assertEqual(u'012345678', f.clean('012345678'))
+ self.assertEqual(u'0412345678', f.clean('0412345678'))
+ self.assertEqual(u'', f.clean(''))
+ err_message = "[u'Enter a valid phone number in one of the formats 0x xxx xx xx, 0xx xx xx xx, 04xx xx xx xx, 0x/xxx.xx.xx, 0xx/xx.xx.xx, 04xx/xx.xx.xx, 0xxxxxxxx, 04xxxxxxxx, 0x.xxx.xx.xx, 0xx.xx.xx.xx, 04xx.xx.xx.xx.']"
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '01234567')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '12/345.67.89')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '012/345.678.90')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '012/34.56.789')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '0123/45.67.89')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '012/345 678 90')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '012/34 56 789')
+ self.assertRaisesErrorWithMessage(ValidationError, err_message, f.clean, '012.34 56 789')
+
+ def test_phone_number_field(self):
+ w = BERegionSelect()
+ self.assertEqual(u'<select name="regions">\n<option value="BRU">Brussels Capital Region</option>\n<option value="VLG" selected="selected">Flemish Region</option>\n<option value="WAL">Wallonia</option>\n</select>', w.render('regions', 'VLG'))
+
+ def test_phone_number_field(self):
+ w = BEProvinceSelect()
+ self.assertEqual(u'<select name="provinces">\n<option value="VAN">Antwerp</option>\n<option value="BRU">Brussels</option>\n<option value="VOV">East Flanders</option>\n<option value="VBR">Flemish Brabant</option>\n<option value="WHT">Hainaut</option>\n<option value="WLG" selected="selected">Liege</option>\n<option value="VLI">Limburg</option>\n<option value="WLX">Luxembourg</option>\n<option value="WNA">Namur</option>\n<option value="WBR">Walloon Brabant</option>\n<option value="VWV">West Flanders</option>\n</select>', w.render('provinces', 'WLG'))
diff --git a/tests/regressiontests/forms/tests.py b/tests/regressiontests/forms/tests.py
index 1871d4f89a..fb41501545 100644
--- a/tests/regressiontests/forms/tests.py
+++ b/tests/regressiontests/forms/tests.py
@@ -40,6 +40,7 @@ from media import media_tests
from fields import FieldsTests
from validators import TestFieldWithValidators
from widgets import WidgetTests, ClearableFileInputTests
+from localflavor.be import BETests
from input_formats import *