~gary-wilson/django/cache-reorg

« back to all changes in this revision

Viewing changes to tests/regressiontests/forms/localflavor/us.py

  • Committer: Gary Wilson
  • Date: 2007-10-28 22:17:58 UTC
  • mfrom: (3786.1.415)
  • Revision ID: gary.wilson@gmail.com-20071028221758-jq4dxnf6idol3ioo
MergedĀ upstreamĀ changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: utf-8 -*-
 
2
# Tests for the contrib/localflavor/ US form fields.
 
3
 
 
4
tests = r"""
 
5
# USZipCodeField ##############################################################
 
6
 
 
7
USZipCodeField validates that the data is either a five-digit U.S. zip code or
 
8
a zip+4.
 
9
>>> from django.contrib.localflavor.us.forms import USZipCodeField
 
10
>>> f = USZipCodeField()
 
11
>>> f.clean('60606')
 
12
u'60606'
 
13
>>> f.clean(60606)
 
14
u'60606'
 
15
>>> f.clean('04000')
 
16
u'04000'
 
17
>>> f.clean('4000')
 
18
Traceback (most recent call last):
 
19
...
 
20
ValidationError: [u'Enter a zip code in the format XXXXX or XXXXX-XXXX.']
 
21
>>> f.clean('60606-1234')
 
22
u'60606-1234'
 
23
>>> f.clean('6060-1234')
 
24
Traceback (most recent call last):
 
25
...
 
26
ValidationError: [u'Enter a zip code in the format XXXXX or XXXXX-XXXX.']
 
27
>>> f.clean('60606-')
 
28
Traceback (most recent call last):
 
29
...
 
30
ValidationError: [u'Enter a zip code in the format XXXXX or XXXXX-XXXX.']
 
31
>>> f.clean(None)
 
32
Traceback (most recent call last):
 
33
...
 
34
ValidationError: [u'This field is required.']
 
35
>>> f.clean('')
 
36
Traceback (most recent call last):
 
37
...
 
38
ValidationError: [u'This field is required.']
 
39
 
 
40
>>> f = USZipCodeField(required=False)
 
41
>>> f.clean('60606')
 
42
u'60606'
 
43
>>> f.clean(60606)
 
44
u'60606'
 
45
>>> f.clean('04000')
 
46
u'04000'
 
47
>>> f.clean('4000')
 
48
Traceback (most recent call last):
 
49
...
 
50
ValidationError: [u'Enter a zip code in the format XXXXX or XXXXX-XXXX.']
 
51
>>> f.clean('60606-1234')
 
52
u'60606-1234'
 
53
>>> f.clean('6060-1234')
 
54
Traceback (most recent call last):
 
55
...
 
56
ValidationError: [u'Enter a zip code in the format XXXXX or XXXXX-XXXX.']
 
57
>>> f.clean('60606-')
 
58
Traceback (most recent call last):
 
59
...
 
60
ValidationError: [u'Enter a zip code in the format XXXXX or XXXXX-XXXX.']
 
61
>>> f.clean(None)
 
62
u''
 
63
>>> f.clean('')
 
64
u''
 
65
 
 
66
# USPhoneNumberField ##########################################################
 
67
 
 
68
USPhoneNumberField validates that the data is a valid U.S. phone number,
 
69
including the area code. It's normalized to XXX-XXX-XXXX format.
 
70
>>> from django.contrib.localflavor.us.forms import USPhoneNumberField
 
71
>>> f = USPhoneNumberField()
 
72
>>> f.clean('312-555-1212')
 
73
u'312-555-1212'
 
74
>>> f.clean('3125551212')
 
75
u'312-555-1212'
 
76
>>> f.clean('312 555-1212')
 
77
u'312-555-1212'
 
78
>>> f.clean('(312) 555-1212')
 
79
u'312-555-1212'
 
80
>>> f.clean('312 555 1212')
 
81
u'312-555-1212'
 
82
>>> f.clean('312.555.1212')
 
83
u'312-555-1212'
 
84
>>> f.clean('312.555-1212')
 
85
u'312-555-1212'
 
86
>>> f.clean(' (312) 555.1212 ')
 
87
u'312-555-1212'
 
88
>>> f.clean('555-1212')
 
89
Traceback (most recent call last):
 
90
...
 
91
ValidationError: [u'Phone numbers must be in XXX-XXX-XXXX format.']
 
92
>>> f.clean('312-55-1212')
 
93
Traceback (most recent call last):
 
94
...
 
95
ValidationError: [u'Phone numbers must be in XXX-XXX-XXXX format.']
 
96
>>> f.clean(None)
 
97
Traceback (most recent call last):
 
98
...
 
99
ValidationError: [u'This field is required.']
 
100
>>> f.clean('')
 
101
Traceback (most recent call last):
 
102
...
 
103
ValidationError: [u'This field is required.']
 
104
 
 
105
>>> f = USPhoneNumberField(required=False)
 
106
>>> f.clean('312-555-1212')
 
107
u'312-555-1212'
 
108
>>> f.clean('3125551212')
 
109
u'312-555-1212'
 
110
>>> f.clean('312 555-1212')
 
111
u'312-555-1212'
 
112
>>> f.clean('(312) 555-1212')
 
113
u'312-555-1212'
 
114
>>> f.clean('312 555 1212')
 
115
u'312-555-1212'
 
116
>>> f.clean('312.555.1212')
 
117
u'312-555-1212'
 
118
>>> f.clean('312.555-1212')
 
119
u'312-555-1212'
 
120
>>> f.clean(' (312) 555.1212 ')
 
121
u'312-555-1212'
 
122
>>> f.clean('555-1212')
 
123
Traceback (most recent call last):
 
124
...
 
125
ValidationError: [u'Phone numbers must be in XXX-XXX-XXXX format.']
 
126
>>> f.clean('312-55-1212')
 
127
Traceback (most recent call last):
 
128
...
 
129
ValidationError: [u'Phone numbers must be in XXX-XXX-XXXX format.']
 
130
>>> f.clean(None)
 
131
u''
 
132
>>> f.clean('')
 
133
u''
 
134
 
 
135
# USStateField ################################################################
 
136
 
 
137
USStateField validates that the data is either an abbreviation or name of a
 
138
U.S. state.
 
139
>>> from django.contrib.localflavor.us.forms import USStateField
 
140
>>> f = USStateField()
 
141
>>> f.clean('il')
 
142
u'IL'
 
143
>>> f.clean('IL')
 
144
u'IL'
 
145
>>> f.clean('illinois')
 
146
u'IL'
 
147
>>> f.clean('  illinois ')
 
148
u'IL'
 
149
>>> f.clean(60606)
 
150
Traceback (most recent call last):
 
151
...
 
152
ValidationError: [u'Enter a U.S. state or territory.']
 
153
>>> f.clean(None)
 
154
Traceback (most recent call last):
 
155
...
 
156
ValidationError: [u'This field is required.']
 
157
>>> f.clean('')
 
158
Traceback (most recent call last):
 
159
...
 
160
ValidationError: [u'This field is required.']
 
161
 
 
162
>>> f = USStateField(required=False)
 
163
>>> f.clean('il')
 
164
u'IL'
 
165
>>> f.clean('IL')
 
166
u'IL'
 
167
>>> f.clean('illinois')
 
168
u'IL'
 
169
>>> f.clean('  illinois ')
 
170
u'IL'
 
171
>>> f.clean(60606)
 
172
Traceback (most recent call last):
 
173
...
 
174
ValidationError: [u'Enter a U.S. state or territory.']
 
175
>>> f.clean(None)
 
176
u''
 
177
>>> f.clean('')
 
178
u''
 
179
 
 
180
# USStateSelect ###############################################################
 
181
 
 
182
USStateSelect is a Select widget that uses a list of U.S. states/territories
 
183
as its choices.
 
184
>>> from django.contrib.localflavor.us.forms import USStateSelect
 
185
>>> w = USStateSelect()
 
186
>>> print w.render('state', 'IL')
 
187
<select name="state">
 
188
<option value="AL">Alabama</option>
 
189
<option value="AK">Alaska</option>
 
190
<option value="AS">American Samoa</option>
 
191
<option value="AZ">Arizona</option>
 
192
<option value="AR">Arkansas</option>
 
193
<option value="CA">California</option>
 
194
<option value="CO">Colorado</option>
 
195
<option value="CT">Connecticut</option>
 
196
<option value="DE">Delaware</option>
 
197
<option value="DC">District of Columbia</option>
 
198
<option value="FM">Federated States of Micronesia</option>
 
199
<option value="FL">Florida</option>
 
200
<option value="GA">Georgia</option>
 
201
<option value="GU">Guam</option>
 
202
<option value="HI">Hawaii</option>
 
203
<option value="ID">Idaho</option>
 
204
<option value="IL" selected="selected">Illinois</option>
 
205
<option value="IN">Indiana</option>
 
206
<option value="IA">Iowa</option>
 
207
<option value="KS">Kansas</option>
 
208
<option value="KY">Kentucky</option>
 
209
<option value="LA">Louisiana</option>
 
210
<option value="ME">Maine</option>
 
211
<option value="MH">Marshall Islands</option>
 
212
<option value="MD">Maryland</option>
 
213
<option value="MA">Massachusetts</option>
 
214
<option value="MI">Michigan</option>
 
215
<option value="MN">Minnesota</option>
 
216
<option value="MS">Mississippi</option>
 
217
<option value="MO">Missouri</option>
 
218
<option value="MT">Montana</option>
 
219
<option value="NE">Nebraska</option>
 
220
<option value="NV">Nevada</option>
 
221
<option value="NH">New Hampshire</option>
 
222
<option value="NJ">New Jersey</option>
 
223
<option value="NM">New Mexico</option>
 
224
<option value="NY">New York</option>
 
225
<option value="NC">North Carolina</option>
 
226
<option value="ND">North Dakota</option>
 
227
<option value="MP">Northern Mariana Islands</option>
 
228
<option value="OH">Ohio</option>
 
229
<option value="OK">Oklahoma</option>
 
230
<option value="OR">Oregon</option>
 
231
<option value="PW">Palau</option>
 
232
<option value="PA">Pennsylvania</option>
 
233
<option value="PR">Puerto Rico</option>
 
234
<option value="RI">Rhode Island</option>
 
235
<option value="SC">South Carolina</option>
 
236
<option value="SD">South Dakota</option>
 
237
<option value="TN">Tennessee</option>
 
238
<option value="TX">Texas</option>
 
239
<option value="UT">Utah</option>
 
240
<option value="VT">Vermont</option>
 
241
<option value="VI">Virgin Islands</option>
 
242
<option value="VA">Virginia</option>
 
243
<option value="WA">Washington</option>
 
244
<option value="WV">West Virginia</option>
 
245
<option value="WI">Wisconsin</option>
 
246
<option value="WY">Wyoming</option>
 
247
</select>
 
248
 
 
249
# USSocialSecurityNumberField #################################################
 
250
>>> from django.contrib.localflavor.us.forms import USSocialSecurityNumberField
 
251
>>> f = USSocialSecurityNumberField()
 
252
>>> f.clean('987-65-4330')
 
253
u'987-65-4330'
 
254
>>> f.clean('987654330')
 
255
u'987-65-4330'
 
256
>>> f.clean('078-05-1120')
 
257
Traceback (most recent call last):
 
258
...
 
259
ValidationError: [u'Enter a valid U.S. Social Security number in XXX-XX-XXXX format.']
 
260
"""