PageRenderTime 57ms CodeModel.GetById 36ms app.highlight 11ms RepoModel.GetById 1ms app.codeStats 0ms

/tests/regressiontests/forms/localflavor/is_.py

https://code.google.com/p/mango-py/
Python | 199 lines | 196 code | 3 blank | 0 comment | 1 complexity | be5b6c81ff0b366354eb935a3ea72211 MD5 | raw file
  1from django.contrib.localflavor.is_.forms import (ISIdNumberField,
  2    ISPhoneNumberField, ISPostalCodeSelect)
  3
  4from utils import LocalFlavorTestCase
  5
  6
  7class ISLocalFlavorTests(LocalFlavorTestCase):
  8    def test_ISPostalCodeSelect(self):
  9        f = ISPostalCodeSelect()
 10        out = u'''<select name="foo">
 11<option value="101">101 Reykjav\xedk</option>
 12<option value="103">103 Reykjav\xedk</option>
 13<option value="104">104 Reykjav\xedk</option>
 14<option value="105">105 Reykjav\xedk</option>
 15<option value="107">107 Reykjav\xedk</option>
 16<option value="108">108 Reykjav\xedk</option>
 17<option value="109">109 Reykjav\xedk</option>
 18<option value="110">110 Reykjav\xedk</option>
 19<option value="111">111 Reykjav\xedk</option>
 20<option value="112">112 Reykjav\xedk</option>
 21<option value="113">113 Reykjav\xedk</option>
 22<option value="116">116 Kjalarnes</option>
 23<option value="121">121 Reykjav\xedk</option>
 24<option value="123">123 Reykjav\xedk</option>
 25<option value="124">124 Reykjav\xedk</option>
 26<option value="125">125 Reykjav\xedk</option>
 27<option value="127">127 Reykjav\xedk</option>
 28<option value="128">128 Reykjav\xedk</option>
 29<option value="129">129 Reykjav\xedk</option>
 30<option value="130">130 Reykjav\xedk</option>
 31<option value="132">132 Reykjav\xedk</option>
 32<option value="150">150 Reykjav\xedk</option>
 33<option value="155">155 Reykjav\xedk</option>
 34<option value="170">170 Seltjarnarnes</option>
 35<option value="172">172 Seltjarnarnes</option>
 36<option value="190">190 Vogar</option>
 37<option value="200">200 K\xf3pavogur</option>
 38<option value="201">201 K\xf3pavogur</option>
 39<option value="202">202 K\xf3pavogur</option>
 40<option value="203">203 K\xf3pavogur</option>
 41<option value="210">210 Gar\xf0ab\xe6r</option>
 42<option value="212">212 Gar\xf0ab\xe6r</option>
 43<option value="220">220 Hafnarfj\xf6r\xf0ur</option>
 44<option value="221">221 Hafnarfj\xf6r\xf0ur</option>
 45<option value="222">222 Hafnarfj\xf6r\xf0ur</option>
 46<option value="225">225 \xc1lftanes</option>
 47<option value="230">230 Reykjanesb\xe6r</option>
 48<option value="232">232 Reykjanesb\xe6r</option>
 49<option value="233">233 Reykjanesb\xe6r</option>
 50<option value="235">235 Keflav\xedkurflugv\xf6llur</option>
 51<option value="240">240 Grindav\xedk</option>
 52<option value="245">245 Sandger\xf0i</option>
 53<option value="250">250 Gar\xf0ur</option>
 54<option value="260">260 Reykjanesb\xe6r</option>
 55<option value="270">270 Mosfellsb\xe6r</option>
 56<option value="300">300 Akranes</option>
 57<option value="301">301 Akranes</option>
 58<option value="302">302 Akranes</option>
 59<option value="310">310 Borgarnes</option>
 60<option value="311">311 Borgarnes</option>
 61<option value="320">320 Reykholt \xed Borgarfir\xf0i</option>
 62<option value="340">340 Stykkish\xf3lmur</option>
 63<option value="345">345 Flatey \xe1 Brei\xf0afir\xf0i</option>
 64<option value="350">350 Grundarfj\xf6r\xf0ur</option>
 65<option value="355">355 \xd3lafsv\xedk</option>
 66<option value="356">356 Sn\xe6fellsb\xe6r</option>
 67<option value="360">360 Hellissandur</option>
 68<option value="370">370 B\xfa\xf0ardalur</option>
 69<option value="371">371 B\xfa\xf0ardalur</option>
 70<option value="380">380 Reykh\xf3lahreppur</option>
 71<option value="400">400 \xcdsafj\xf6r\xf0ur</option>
 72<option value="401">401 \xcdsafj\xf6r\xf0ur</option>
 73<option value="410">410 Hn\xedfsdalur</option>
 74<option value="415">415 Bolungarv\xedk</option>
 75<option value="420">420 S\xfa\xf0av\xedk</option>
 76<option value="425">425 Flateyri</option>
 77<option value="430">430 Su\xf0ureyri</option>
 78<option value="450">450 Patreksfj\xf6r\xf0ur</option>
 79<option value="451">451 Patreksfj\xf6r\xf0ur</option>
 80<option value="460">460 T\xe1lknafj\xf6r\xf0ur</option>
 81<option value="465">465 B\xedldudalur</option>
 82<option value="470">470 \xdeingeyri</option>
 83<option value="471">471 \xdeingeyri</option>
 84<option value="500">500 Sta\xf0ur</option>
 85<option value="510">510 H\xf3lmav\xedk</option>
 86<option value="512">512 H\xf3lmav\xedk</option>
 87<option value="520">520 Drangsnes</option>
 88<option value="522">522 Kj\xf6rvogur</option>
 89<option value="523">523 B\xe6r</option>
 90<option value="524">524 Nor\xf0urfj\xf6r\xf0ur</option>
 91<option value="530">530 Hvammstangi</option>
 92<option value="531">531 Hvammstangi</option>
 93<option value="540">540 Bl\xf6ndu\xf3s</option>
 94<option value="541">541 Bl\xf6ndu\xf3s</option>
 95<option value="545">545 Skagastr\xf6nd</option>
 96<option value="550">550 Sau\xf0\xe1rkr\xf3kur</option>
 97<option value="551">551 Sau\xf0\xe1rkr\xf3kur</option>
 98<option value="560">560 Varmahl\xed\xf0</option>
 99<option value="565">565 Hofs\xf3s</option>
100<option value="566">566 Hofs\xf3s</option>
101<option value="570">570 Flj\xf3t</option>
102<option value="580">580 Siglufj\xf6r\xf0ur</option>
103<option value="600">600 Akureyri</option>
104<option value="601">601 Akureyri</option>
105<option value="602">602 Akureyri</option>
106<option value="603">603 Akureyri</option>
107<option value="610">610 Greniv\xedk</option>
108<option value="611">611 Gr\xedmsey</option>
109<option value="620">620 Dalv\xedk</option>
110<option value="621">621 Dalv\xedk</option>
111<option value="625">625 \xd3lafsfj\xf6r\xf0ur</option>
112<option value="630">630 Hr\xedsey</option>
113<option value="640">640 H\xfasav\xedk</option>
114<option value="641">641 H\xfasav\xedk</option>
115<option value="645">645 Fossh\xf3ll</option>
116<option value="650">650 Laugar</option>
117<option value="660">660 M\xfdvatn</option>
118<option value="670">670 K\xf3pasker</option>
119<option value="671">671 K\xf3pasker</option>
120<option value="675">675 Raufarh\xf6fn</option>
121<option value="680">680 \xde\xf3rsh\xf6fn</option>
122<option value="681">681 \xde\xf3rsh\xf6fn</option>
123<option value="685">685 Bakkafj\xf6r\xf0ur</option>
124<option value="690">690 Vopnafj\xf6r\xf0ur</option>
125<option value="700">700 Egilssta\xf0ir</option>
126<option value="701">701 Egilssta\xf0ir</option>
127<option value="710">710 Sey\xf0isfj\xf6r\xf0ur</option>
128<option value="715">715 Mj\xf3ifj\xf6r\xf0ur</option>
129<option value="720">720 Borgarfj\xf6r\xf0ur eystri</option>
130<option value="730">730 Rey\xf0arfj\xf6r\xf0ur</option>
131<option value="735">735 Eskifj\xf6r\xf0ur</option>
132<option value="740">740 Neskaupsta\xf0ur</option>
133<option value="750">750 F\xe1skr\xfa\xf0sfj\xf6r\xf0ur</option>
134<option value="755">755 St\xf6\xf0varfj\xf6r\xf0ur</option>
135<option value="760">760 Brei\xf0dalsv\xedk</option>
136<option value="765">765 Dj\xfapivogur</option>
137<option value="780">780 H\xf6fn \xed Hornafir\xf0i</option>
138<option value="781">781 H\xf6fn \xed Hornafir\xf0i</option>
139<option value="785">785 \xd6r\xe6fi</option>
140<option value="800">800 Selfoss</option>
141<option value="801">801 Selfoss</option>
142<option value="802">802 Selfoss</option>
143<option value="810">810 Hverager\xf0i</option>
144<option value="815">815 \xdeorl\xe1ksh\xf6fn</option>
145<option value="820">820 Eyrarbakki</option>
146<option value="825">825 Stokkseyri</option>
147<option value="840">840 Laugarvatn</option>
148<option value="845">845 Fl\xfa\xf0ir</option>
149<option value="850">850 Hella</option>
150<option value="851">851 Hella</option>
151<option value="860">860 Hvolsv\xf6llur</option>
152<option value="861">861 Hvolsv\xf6llur</option>
153<option value="870">870 V\xedk</option>
154<option value="871">871 V\xedk</option>
155<option value="880">880 Kirkjub\xe6jarklaustur</option>
156<option value="900">900 Vestmannaeyjar</option>
157<option value="902">902 Vestmannaeyjar</option>
158</select>'''
159        self.assertEqual(f.render('foo', 'bar'), out)
160    
161    def test_ISIdNumberField(self):
162        error_atleast = [u'Ensure this value has at least 10 characters (it has 9).']
163        error_invalid = [u'Enter a valid Icelandic identification number. The format is XXXXXX-XXXX.']
164        error_atmost = [u'Ensure this value has at most 11 characters (it has 12).']
165        error_notvalid = [u'The Icelandic identification number is not valid.']
166        valid = {
167            '2308803449': '230880-3449',
168            '230880-3449': '230880-3449',
169            '230880 3449': '230880-3449',
170            '2308803440': '230880-3440',
171        }
172        invalid = {
173            '230880343': error_atleast + error_invalid,
174            '230880343234': error_atmost + error_invalid,
175            'abcdefghijk': error_invalid,
176            '2308803439': error_notvalid,
177        
178        }
179        self.assertFieldOutput(ISIdNumberField, valid, invalid)
180    
181    def test_ISPhoneNumberField(self):
182        error_invalid = [u'Enter a valid value.']
183        error_atleast = [u'Ensure this value has at least 7 characters (it has 6).']
184        error_atmost = [u'Ensure this value has at most 8 characters (it has 9).']
185        valid = {
186            '1234567': '1234567',
187            '123 4567': '1234567',
188            '123-4567': '1234567',
189        }
190        invalid = {
191            '123-456': error_invalid,
192            '123456': error_atleast + error_invalid,
193            '123456555': error_atmost + error_invalid,
194            'abcdefg': error_invalid,
195            ' 1234567 ': error_atmost + error_invalid,
196            ' 12367  ': error_invalid
197        }
198        self.assertFieldOutput(ISPhoneNumberField, valid, invalid)
199