Commit 4adec427 authored by Alex Gaynor's avatar Alex Gaynor
Browse files

Converted United Kingdom localflavor doctests into unittests. We have always...

Converted United Kingdom localflavor doctests into unittests.  We have always been at war with doctests.  Thanks to Idan Gazit.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@14953 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 023329c3
Loading
Loading
Loading
Loading
+28 −64
Original line number Diff line number Diff line
# -*- coding: utf-8 -*-
# Tests for the contrib/localflavor/ UK form fields.
from django.contrib.localflavor.uk.forms import UKPostcodeField

tests = r"""
# UKPostcodeField #############################################################
from utils import LocalFlavorTestCase

UKPostcodeField validates that the data is a valid UK postcode.
>>> from django.contrib.localflavor.uk.forms import UKPostcodeField
>>> f = UKPostcodeField()
>>> f.clean('BT32 4PX')
u'BT32 4PX'
>>> f.clean('GIR 0AA')
u'GIR 0AA'
>>> f.clean('BT324PX')
u'BT32 4PX'
>>> f.clean('1NV 4L1D')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid postcode.']
>>> f.clean('1NV4L1D')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid postcode.']
>>> 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.clean(' so11aa ')
u'SO1 1AA'
>>> f.clean(' so1  1aa ')
u'SO1 1AA'
>>> f.clean('G2 3wt')
u'G2 3WT'
>>> f.clean('EC1A 1BB')
u'EC1A 1BB'
>>> f.clean('Ec1a1BB')
u'EC1A 1BB'
>>> f.clean(' b0gUS')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid postcode.']
>>> f = UKPostcodeField(required=False)
>>> f.clean('BT32 4PX')
u'BT32 4PX'
>>> f.clean('GIR 0AA')
u'GIR 0AA'
>>> f.clean('1NV 4L1D')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid postcode.']
>>> f.clean('BT324PX')
u'BT32 4PX'
>>> f.clean(None)
u''
>>> f.clean('')
u''
>>> f = UKPostcodeField(error_messages={'invalid': 'Enter a bloody postcode!'})
>>> f.clean('1NV 4L1D')
Traceback (most recent call last):
...
ValidationError: [u'Enter a bloody postcode!']
"""

class UKLocalFlavorTests(LocalFlavorTestCase):
    def test_UKPostcodeField(self):
        error_invalid = [u'Enter a valid postcode.']
        valid = {
            'BT32 4PX': 'BT32 4PX',
            'GIR 0AA': 'GIR 0AA',
            'BT324PX': 'BT32 4PX',
            ' so11aa ': 'SO1 1AA',
            ' so1  1aa ': 'SO1 1AA',
            'G2 3wt': 'G2 3WT',
            'EC1A 1BB': 'EC1A 1BB',
            'Ec1a1BB': 'EC1A 1BB',
        }
        invalid = {
            '1NV 4L1D': error_invalid,
            '1NV4L1D': error_invalid,
            ' b0gUS': error_invalid,
        }
        self.assertFieldOutput(UKPostcodeField, valid, invalid)
        valid = {}
        invalid = {
            '1NV 4L1D': [u'Enter a bloody postcode!'],
        }
        kwargs = {'error_messages': {'invalid': 'Enter a bloody postcode!'}}
        self.assertFieldOutput(UKPostcodeField, valid, invalid, field_kwargs=kwargs)
+1 −2
Original line number Diff line number Diff line
# -*- coding: utf-8 -*-
from localflavor.cz import tests as localflavor_cz_tests
from localflavor.se import tests as localflavor_se_tests
from localflavor.uk import tests as localflavor_uk_tests
from localflavor.us import tests as localflavor_us_tests
from localflavor.uy import tests as localflavor_uy_tests
from localflavor.za import tests as localflavor_za_tests
@@ -32,12 +31,12 @@ from localflavor.pt import PTLocalFlavorTests
from localflavor.ro import ROLocalFlavorTests
from localflavor.sk import SKLocalFlavorTests
from localflavor.tr import TRLocalFlavorTests
from localflavor.uk import UKLocalFlavorTests


__test__ = {
    'localflavor_cz_tests': localflavor_cz_tests,
    'localflavor_se_tests': localflavor_se_tests,
    'localflavor_uk_tests': localflavor_uk_tests,
    'localflavor_us_tests': localflavor_us_tests,
    'localflavor_uy_tests': localflavor_uy_tests,
    'localflavor_za_tests': localflavor_za_tests,
+1 −0
Original line number Diff line number Diff line
@@ -39,4 +39,5 @@ from regressiontests.forms.localflavortests import (
    ROLocalFlavorTests,
    SKLocalFlavorTests,
    TRLocalFlavorTests,
    UKLocalFlavorTests,
)