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