62 lines
1.4 KiB
Python
62 lines
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Tests for the contrib/localflavor/ UK form fields.
|
|
|
|
tests = r"""
|
|
# UKPostcodeField #############################################################
|
|
|
|
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''
|
|
"""
|