~ubuntu-branches/ubuntu/jaunty/python-django/jaunty

« back to all changes in this revision

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

  • Committer: Bazaar Package Importer
  • Author(s): Scott James Remnant, Eddy Mulyono
  • Date: 2008-09-16 12:18:47 UTC
  • mfrom: (1.1.5 upstream) (4.1.1 lenny)
  • Revision ID: james.westby@ubuntu.com-20080916121847-mg225rg5mnsdqzr0
Tags: 1.0-1ubuntu1
* Merge from Debian (LP: #264191), remaining changes:
  - Run test suite on build.

[Eddy Mulyono]
* Update patch to workaround network test case failures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: utf-8 -*-
 
2
# Tests for the contrib/localflavor/ FR form fields.
 
3
 
 
4
tests = r"""
 
5
# FRZipCodeField #############################################################
 
6
 
 
7
FRZipCodeField validates that the data is a valid FR zipcode.
 
8
>>> from django.contrib.localflavor.fr.forms import FRZipCodeField
 
9
>>> f = FRZipCodeField()
 
10
>>> f.clean('75001')
 
11
u'75001'
 
12
>>> f.clean('93200')
 
13
u'93200'
 
14
>>> f.clean('2A200')
 
15
Traceback (most recent call last):
 
16
...
 
17
ValidationError: [u'Enter a zip code in the format XXXXX.']
 
18
>>> f.clean('980001')
 
19
Traceback (most recent call last):
 
20
...
 
21
ValidationError: [u'Enter a zip code in the format XXXXX.']
 
22
>>> f.clean(None)
 
23
Traceback (most recent call last):
 
24
...
 
25
ValidationError: [u'This field is required.']
 
26
>>> f.clean('')
 
27
Traceback (most recent call last):
 
28
...
 
29
ValidationError: [u'This field is required.']
 
30
 
 
31
>>> f = FRZipCodeField(required=False)
 
32
>>> f.clean('75001')
 
33
u'75001'
 
34
>>> f.clean('93200')
 
35
u'93200'
 
36
>>> f.clean('2A200')
 
37
Traceback (most recent call last):
 
38
...
 
39
ValidationError: [u'Enter a zip code in the format XXXXX.']
 
40
>>> f.clean('980001')
 
41
Traceback (most recent call last):
 
42
...
 
43
ValidationError: [u'Enter a zip code in the format XXXXX.']
 
44
>>> f.clean(None)
 
45
u''
 
46
>>> f.clean('')
 
47
u''
 
48
 
 
49
 
 
50
# FRPhoneNumberField ##########################################################
 
51
 
 
52
FRPhoneNumberField validates that the data is a valid french phone number.
 
53
It's normalized to 0X XX XX XX XX format. Dots are valid too.
 
54
>>> from django.contrib.localflavor.fr.forms import FRPhoneNumberField
 
55
>>> f = FRPhoneNumberField()
 
56
>>> f.clean('01 55 44 58 64')
 
57
u'01 55 44 58 64'
 
58
>>> f.clean('0155445864')
 
59
u'01 55 44 58 64'
 
60
>>> f.clean('01 5544 5864')
 
61
u'01 55 44 58 64'
 
62
>>> f.clean('01 55.44.58.64')
 
63
u'01 55 44 58 64'
 
64
>>> f.clean('01.55.44.58.64')
 
65
u'01 55 44 58 64'
 
66
>>> f.clean('01,55,44,58,64')
 
67
Traceback (most recent call last):
 
68
...
 
69
ValidationError: [u'Phone numbers must be in 0X XX XX XX XX format.']
 
70
>>> f.clean('555 015 544')
 
71
Traceback (most recent call last):
 
72
...
 
73
ValidationError: [u'Phone numbers must be in 0X XX XX XX XX format.']
 
74
>>> f.clean(None)
 
75
Traceback (most recent call last):
 
76
...
 
77
ValidationError: [u'This field is required.']
 
78
>>> f.clean('')
 
79
Traceback (most recent call last):
 
80
...
 
81
ValidationError: [u'This field is required.']
 
82
 
 
83
>>> f = FRPhoneNumberField(required=False)
 
84
>>> f.clean('01 55 44 58 64')
 
85
u'01 55 44 58 64'
 
86
>>> f.clean('0155445864')
 
87
u'01 55 44 58 64'
 
88
>>> f.clean('01 5544 5864')
 
89
u'01 55 44 58 64'
 
90
>>> f.clean('01 55.44.58.64')
 
91
u'01 55 44 58 64'
 
92
>>> f.clean('01.55.44.58.64')
 
93
u'01 55 44 58 64'
 
94
>>> f.clean('01,55,44,58,64')
 
95
Traceback (most recent call last):
 
96
...
 
97
ValidationError: [u'Phone numbers must be in 0X XX XX XX XX format.']
 
98
>>> f.clean('555 015 544')
 
99
Traceback (most recent call last):
 
100
...
 
101
ValidationError: [u'Phone numbers must be in 0X XX XX XX XX format.']
 
102
>>> f.clean(None)
 
103
u''
 
104
>>> f.clean('')
 
105
u''
 
106
 
 
107
# FRDepartmentSelect ###############################################################
 
108
 
 
109
FRDepartmentSelect is a Select widget that uses a list of french departments
 
110
including DOM TOM
 
111
>>> from django.contrib.localflavor.fr.forms import FRDepartmentSelect
 
112
>>> w = FRDepartmentSelect()
 
113
>>> print w.render('dep', 'Paris')
 
114
<select name="dep">
 
115
<option value="01">01 - Ain</option>
 
116
<option value="02">02 - Aisne</option>
 
117
<option value="03">03 - Allier</option>
 
118
<option value="04">04 - Alpes-de-Haute-Provence</option>
 
119
<option value="05">05 - Hautes-Alpes</option>
 
120
<option value="06">06 - Alpes-Maritimes</option>
 
121
<option value="07">07 - Ardeche</option>
 
122
<option value="08">08 - Ardennes</option>
 
123
<option value="09">09 - Ariege</option>
 
124
<option value="10">10 - Aube</option>
 
125
<option value="11">11 - Aude</option>
 
126
<option value="12">12 - Aveyron</option>
 
127
<option value="13">13 - Bouches-du-Rhone</option>
 
128
<option value="14">14 - Calvados</option>
 
129
<option value="15">15 - Cantal</option>
 
130
<option value="16">16 - Charente</option>
 
131
<option value="17">17 - Charente-Maritime</option>
 
132
<option value="18">18 - Cher</option>
 
133
<option value="19">19 - Correze</option>
 
134
<option value="21">21 - Cote-d&#39;Or</option>
 
135
<option value="22">22 - Cotes-d&#39;Armor</option>
 
136
<option value="23">23 - Creuse</option>
 
137
<option value="24">24 - Dordogne</option>
 
138
<option value="25">25 - Doubs</option>
 
139
<option value="26">26 - Drome</option>
 
140
<option value="27">27 - Eure</option>
 
141
<option value="28">28 - Eure-et-Loire</option>
 
142
<option value="29">29 - Finistere</option>
 
143
<option value="2A">2A - Corse-du-Sud</option>
 
144
<option value="2B">2B - Haute-Corse</option>
 
145
<option value="30">30 - Gard</option>
 
146
<option value="31">31 - Haute-Garonne</option>
 
147
<option value="32">32 - Gers</option>
 
148
<option value="33">33 - Gironde</option>
 
149
<option value="34">34 - Herault</option>
 
150
<option value="35">35 - Ille-et-Vilaine</option>
 
151
<option value="36">36 - Indre</option>
 
152
<option value="37">37 - Indre-et-Loire</option>
 
153
<option value="38">38 - Isere</option>
 
154
<option value="39">39 - Jura</option>
 
155
<option value="40">40 - Landes</option>
 
156
<option value="41">41 - Loir-et-Cher</option>
 
157
<option value="42">42 - Loire</option>
 
158
<option value="43">43 - Haute-Loire</option>
 
159
<option value="44">44 - Loire-Atlantique</option>
 
160
<option value="45">45 - Loiret</option>
 
161
<option value="46">46 - Lot</option>
 
162
<option value="47">47 - Lot-et-Garonne</option>
 
163
<option value="48">48 - Lozere</option>
 
164
<option value="49">49 - Maine-et-Loire</option>
 
165
<option value="50">50 - Manche</option>
 
166
<option value="51">51 - Marne</option>
 
167
<option value="52">52 - Haute-Marne</option>
 
168
<option value="53">53 - Mayenne</option>
 
169
<option value="54">54 - Meurthe-et-Moselle</option>
 
170
<option value="55">55 - Meuse</option>
 
171
<option value="56">56 - Morbihan</option>
 
172
<option value="57">57 - Moselle</option>
 
173
<option value="58">58 - Nievre</option>
 
174
<option value="59">59 - Nord</option>
 
175
<option value="60">60 - Oise</option>
 
176
<option value="61">61 - Orne</option>
 
177
<option value="62">62 - Pas-de-Calais</option>
 
178
<option value="63">63 - Puy-de-Dome</option>
 
179
<option value="64">64 - Pyrenees-Atlantiques</option>
 
180
<option value="65">65 - Hautes-Pyrenees</option>
 
181
<option value="66">66 - Pyrenees-Orientales</option>
 
182
<option value="67">67 - Bas-Rhin</option>
 
183
<option value="68">68 - Haut-Rhin</option>
 
184
<option value="69">69 - Rhone</option>
 
185
<option value="70">70 - Haute-Saone</option>
 
186
<option value="71">71 - Saone-et-Loire</option>
 
187
<option value="72">72 - Sarthe</option>
 
188
<option value="73">73 - Savoie</option>
 
189
<option value="74">74 - Haute-Savoie</option>
 
190
<option value="75">75 - Paris</option>
 
191
<option value="76">76 - Seine-Maritime</option>
 
192
<option value="77">77 - Seine-et-Marne</option>
 
193
<option value="78">78 - Yvelines</option>
 
194
<option value="79">79 - Deux-Sevres</option>
 
195
<option value="80">80 - Somme</option>
 
196
<option value="81">81 - Tarn</option>
 
197
<option value="82">82 - Tarn-et-Garonne</option>
 
198
<option value="83">83 - Var</option>
 
199
<option value="84">84 - Vaucluse</option>
 
200
<option value="85">85 - Vendee</option>
 
201
<option value="86">86 - Vienne</option>
 
202
<option value="87">87 - Haute-Vienne</option>
 
203
<option value="88">88 - Vosges</option>
 
204
<option value="89">89 - Yonne</option>
 
205
<option value="90">90 - Territoire de Belfort</option>
 
206
<option value="91">91 - Essonne</option>
 
207
<option value="92">92 - Hauts-de-Seine</option>
 
208
<option value="93">93 - Seine-Saint-Denis</option>
 
209
<option value="94">94 - Val-de-Marne</option>
 
210
<option value="95">95 - Val-d&#39;Oise</option>
 
211
<option value="2A">2A - Corse du sud</option>
 
212
<option value="2B">2B - Haute Corse</option>
 
213
<option value="971">971 - Guadeloupe</option>
 
214
<option value="972">972 - Martinique</option>
 
215
<option value="973">973 - Guyane</option>
 
216
<option value="974">974 - La Reunion</option>
 
217
<option value="975">975 - Saint-Pierre-et-Miquelon</option>
 
218
<option value="976">976 - Mayotte</option>
 
219
<option value="984">984 - Terres Australes et Antarctiques</option>
 
220
<option value="986">986 - Wallis et Futuna</option>
 
221
<option value="987">987 - Polynesie Francaise</option>
 
222
<option value="988">988 - Nouvelle-Caledonie</option>
 
223
</select>
 
224
"""