Author: Alex
Date: 2010-12-18 16:12:08 -0600 (Sat, 18 Dec 2010)
New Revision: 14957

Modified:
   django/branches/releases/1.2.X/tests/regressiontests/forms/localflavor/au.py
   
django/branches/releases/1.2.X/tests/regressiontests/forms/localflavortests.py
   django/branches/releases/1.2.X/tests/regressiontests/forms/tests/__init__.py
Log:
[1.2.X] Converted Australian localfavor doctests into unittests.  We have 
always been at war with doctests.  Thanks to Idan Gazit for the patch.  
Backport of [14931],

Modified: 
django/branches/releases/1.2.X/tests/regressiontests/forms/localflavor/au.py
===================================================================
--- 
django/branches/releases/1.2.X/tests/regressiontests/forms/localflavor/au.py    
    2010-12-18 20:33:44 UTC (rev 14956)
+++ 
django/branches/releases/1.2.X/tests/regressiontests/forms/localflavor/au.py    
    2010-12-18 22:12:08 UTC (rev 14957)
@@ -1,127 +1,13 @@
-# -*- coding: utf-8 -*-
-# Tests for the contrib/localflavor/ AU form fields.
+from django.contrib.localflavor.au.forms import (AUPostCodeField,
+        AUPhoneNumberField, AUStateSelect)
 
-tests = r"""
-## AUPostCodeField ##########################################################
+from utils import LocalFlavorTestCase
 
-A field that accepts a four digit Australian post code.
 
->>> from django.contrib.localflavor.au.forms import AUPostCodeField
->>> f = AUPostCodeField()
->>> f.clean('1234')
-u'1234'
->>> f.clean('2000')
-u'2000'
->>> f.clean('abcd')
-Traceback (most recent call last):
-...
-ValidationError: [u'Enter a 4 digit post code.']
->>> f.clean('20001')
-Traceback (most recent call last):
-...
-ValidationError: [u'Enter a 4 digit post code.']
->>> f.clean(None)
-Traceback (most recent call last):
-...
-ValidationError: [u'This field is required.']
->>> f.clean('')
-Traceback (most recent call last):
-...
-ValidationError: [u'This field is required.']
-
->>> f = AUPostCodeField(required=False)
->>> f.clean('1234')
-u'1234'
->>> f.clean('2000')
-u'2000'
->>> f.clean('abcd')
-Traceback (most recent call last):
-...
-ValidationError: [u'Enter a 4 digit post code.']
->>> f.clean('20001')
-Traceback (most recent call last):
-...
-ValidationError: [u'Enter a 4 digit post code.']
->>> f.clean(None)
-u''
->>> f.clean('')
-u''
-
-## AUPhoneNumberField ########################################################
-
-A field that accepts a 10 digit Australian phone number.
-Allows spaces and parentheses around area code.
-
->>> from django.contrib.localflavor.au.forms import AUPhoneNumberField
->>> f = AUPhoneNumberField()
->>> f.clean('1234567890')
-u'1234567890'
->>> f.clean('0213456789')
-u'0213456789'
->>> f.clean('02 13 45 67 89')
-u'0213456789'
->>> f.clean('(02) 1345 6789')
-u'0213456789'
->>> f.clean('(02) 1345-6789')
-u'0213456789'
->>> f.clean('(02)1345-6789')
-u'0213456789'
->>> f.clean('0408 123 456')
-u'0408123456'
->>> f.clean('123')
-Traceback (most recent call last):
-...
-ValidationError: [u'Phone numbers must contain 10 digits.']
->>> f.clean('1800DJANGO')
-Traceback (most recent call last):
-...
-ValidationError: [u'Phone numbers must contain 10 digits.']
->>> f.clean(None)
-Traceback (most recent call last):
-...
-ValidationError: [u'This field is required.']
->>> f.clean('')
-Traceback (most recent call last):
-...
-ValidationError: [u'This field is required.']
-
->>> f = AUPhoneNumberField(required=False)
->>> f.clean('1234567890')
-u'1234567890'
->>> f.clean('0213456789')
-u'0213456789'
->>> f.clean('02 13 45 67 89')
-u'0213456789'
->>> f.clean('(02) 1345 6789')
-u'0213456789'
->>> f.clean('(02) 1345-6789')
-u'0213456789'
->>> f.clean('(02)1345-6789')
-u'0213456789'
->>> f.clean('0408 123 456')
-u'0408123456'
->>> f.clean('123')
-Traceback (most recent call last):
-...
-ValidationError: [u'Phone numbers must contain 10 digits.']
->>> f.clean('1800DJANGO')
-Traceback (most recent call last):
-...
-ValidationError: [u'Phone numbers must contain 10 digits.']
->>> f.clean(None)
-u''
->>> f.clean('')
-u''
-
-## AUStateSelect #############################################################
-
-AUStateSelect is a Select widget that uses a list of Australian
-states/territories as its choices.
-
->>> from django.contrib.localflavor.au.forms import AUStateSelect
->>> f = AUStateSelect()
->>> print f.render('state', 'NSW')
-<select name="state">
+class AULocalFlavorTests(LocalFlavorTestCase):
+    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>
@@ -130,5 +16,35 @@
 <option value="TAS">Tasmania</option>
 <option value="VIC">Victoria</option>
 <option value="WA">Western Australia</option>
-</select>
-"""
+</select>'''
+        self.assertEqual(f.render('state', 'NSW'), out)
+
+    def test_AUPostCodeField(self):
+        error_format = [u'Enter a 4 digit post code.']
+        valid = {
+            '1234': '1234',
+            '2000': '2000',
+        }
+        invalid = {
+            'abcd': error_format,
+            '20001': 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)
+

Modified: 
django/branches/releases/1.2.X/tests/regressiontests/forms/localflavortests.py
===================================================================
--- 
django/branches/releases/1.2.X/tests/regressiontests/forms/localflavortests.py  
    2010-12-18 20:33:44 UTC (rev 14956)
+++ 
django/branches/releases/1.2.X/tests/regressiontests/forms/localflavortests.py  
    2010-12-18 22:12:08 UTC (rev 14957)
@@ -1,5 +1,4 @@
 # -*- coding: utf-8 -*-
-from localflavor.au import tests as localflavor_au_tests
 from localflavor.br import tests as localflavor_br_tests
 from localflavor.ca import tests as localflavor_ca_tests
 from localflavor.ch import tests as localflavor_ch_tests
@@ -27,12 +26,12 @@
 from localflavor.za import tests as localflavor_za_tests
 
 from localflavor.ar import ARLocalFlavorTests
+from localflavor.au import AULocalFlavorTests
 from localflavor.at import ATLocalFlavorTests
 from localflavor.de import DELocalFlavorTests
 
 
 __test__ = {
-    'localflavor_au_tests': localflavor_au_tests,
     'localflavor_br_tests': localflavor_br_tests,
     'localflavor_ca_tests': localflavor_ca_tests,
     'localflavor_ch_tests': localflavor_ch_tests,

Modified: 
django/branches/releases/1.2.X/tests/regressiontests/forms/tests/__init__.py
===================================================================
--- 
django/branches/releases/1.2.X/tests/regressiontests/forms/tests/__init__.py    
    2010-12-18 20:33:44 UTC (rev 14956)
+++ 
django/branches/releases/1.2.X/tests/regressiontests/forms/tests/__init__.py    
    2010-12-18 22:12:08 UTC (rev 14957)
@@ -15,5 +15,6 @@
     __test__,
     ARLocalFlavorTests,
     ATLocalFlavorTests,
+    AULocalFlavorTests,
     DELocalFlavorTests,
 )

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to