~ubuntu-branches/ubuntu/saucy/python-django/saucy-updates

« back to all changes in this revision

Viewing changes to tests/regressiontests/localflavor/cz/tests.py

  • Committer: Package Import Robot
  • Author(s): Luke Faraone, Jakub Wilk, Luke Faraone
  • Date: 2013-05-09 15:10:47 UTC
  • mfrom: (1.1.21) (4.4.27 sid)
  • Revision ID: package-import@ubuntu.com-20130509151047-aqv8d71oj9wvcv8c
Tags: 1.5.1-2
[ Jakub Wilk ]
* Use canonical URIs for Vcs-* fields.

[ Luke Faraone ]
* Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
import warnings
2
 
 
3
 
from django.contrib.localflavor.cz.forms import (CZPostalCodeField,
4
 
    CZRegionSelect, CZBirthNumberField, CZICNumberField)
5
 
 
6
 
from django.core.exceptions import ValidationError
7
 
from django.test import SimpleTestCase
8
 
 
9
 
 
10
 
class CZLocalFlavorTests(SimpleTestCase):
11
 
    def setUp(self):
12
 
        self.save_warnings_state()
13
 
        warnings.filterwarnings(
14
 
            "ignore",
15
 
            category=DeprecationWarning,
16
 
            module='django.contrib.localflavor.cz.forms'
17
 
        )
18
 
 
19
 
    def tearDown(self):
20
 
        self.restore_warnings_state()
21
 
 
22
 
    def test_CZRegionSelect(self):
23
 
        f = CZRegionSelect()
24
 
        out = u'''<select name="regions">
25
 
<option value="PR">Prague</option>
26
 
<option value="CE">Central Bohemian Region</option>
27
 
<option value="SO">South Bohemian Region</option>
28
 
<option value="PI">Pilsen Region</option>
29
 
<option value="CA">Carlsbad Region</option>
30
 
<option value="US">Usti Region</option>
31
 
<option value="LB">Liberec Region</option>
32
 
<option value="HK">Hradec Region</option>
33
 
<option value="PA">Pardubice Region</option>
34
 
<option value="VY">Vysocina Region</option>
35
 
<option value="SM">South Moravian Region</option>
36
 
<option value="OL">Olomouc Region</option>
37
 
<option value="ZL">Zlin Region</option>
38
 
<option value="MS">Moravian-Silesian Region</option>
39
 
</select>'''
40
 
        self.assertHTMLEqual(f.render('regions', 'TT'), out)
41
 
 
42
 
    def test_CZPostalCodeField(self):
43
 
        error_format = [u'Enter a postal code in the format XXXXX or XXX XX.']
44
 
        valid = {
45
 
            '91909': '91909',
46
 
            '917 01': '91701',
47
 
            '12345': '12345',
48
 
        }
49
 
        invalid = {
50
 
            '84545x': error_format,
51
 
            '123456': error_format,
52
 
            '1234': error_format,
53
 
            '123 4': error_format,
54
 
        }
55
 
        self.assertFieldOutput(CZPostalCodeField, valid, invalid)
56
 
 
57
 
    def test_CZBirthNumberField(self):
58
 
        error_format = [u'Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX.']
59
 
        error_invalid = [u'Enter a valid birth number.']
60
 
        valid = {
61
 
            '880523/1237': '880523/1237',
62
 
            '8805231237': '8805231237',
63
 
            '880523/000': '880523/000',
64
 
            '880523000': '880523000',
65
 
            '882101/0011': '882101/0011',
66
 
        }
67
 
        invalid = {
68
 
            '123456/12': error_format,
69
 
            '123456/12345': error_format,
70
 
            '12345612': error_format,
71
 
            '12345612345': error_format,
72
 
            '880523/1239': error_invalid,
73
 
            '8805231239': error_invalid,
74
 
            '990101/0011': error_invalid,
75
 
        }
76
 
        self.assertFieldOutput(CZBirthNumberField, valid, invalid)
77
 
 
78
 
        # These tests should go away in 1.4.
79
 
        # http://code.djangoproject.com/ticket/14593
80
 
        f = CZBirthNumberField()
81
 
        self.assertEqual(f.clean('880523/1237', 'm'), '880523/1237'),
82
 
        self.assertEqual(f.clean('885523/1231', 'f'), '885523/1231')
83
 
        self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
84
 
            f.clean, '881523/0000', 'm')
85
 
        self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
86
 
            f.clean, '885223/0000', 'm')
87
 
        self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
88
 
            f.clean, '881523/0000', 'f')
89
 
        self.assertRaisesRegexp(ValidationError, unicode(error_invalid),
90
 
            f.clean, '885223/0000', 'f')
91
 
 
92
 
    def test_CZICNumberField(self):
93
 
        error_invalid = [u'Enter a valid IC number.']
94
 
        valid ={
95
 
            '12345679': '12345679',
96
 
            '12345601': '12345601',
97
 
            '12345661': '12345661',
98
 
            '12345610': '12345610',
99
 
        }
100
 
        invalid = {
101
 
            '1234567': error_invalid,
102
 
            '12345660': error_invalid,
103
 
            '12345600': error_invalid,
104
 
        }
105
 
        self.assertFieldOutput(CZICNumberField, valid, invalid)