1
# -*- coding: utf-8 -*-
2
# Tests for the contrib/localflavor/ JP form fields.
5
# JPPostalCodeField ###############################################################
7
A form field that validates its input is a Japanese postcode.
9
Accepts 7 digits(with/out hyphen).
10
>>> from django.contrib.localflavor.jp.forms import JPPostalCodeField
11
>>> f = JPPostalCodeField()
12
>>> f.clean('251-0032')
14
>>> f.clean('2510032')
16
>>> f.clean('2510-032')
17
Traceback (most recent call last):
19
ValidationError: [u'Enter a postal code in the format XXXXXXX or XXX-XXXX.']
20
>>> f.clean('251a0032')
21
Traceback (most recent call last):
23
ValidationError: [u'Enter a postal code in the format XXXXXXX or XXX-XXXX.']
24
>>> f.clean('a51-0032')
25
Traceback (most recent call last):
27
ValidationError: [u'Enter a postal code in the format XXXXXXX or XXX-XXXX.']
28
>>> f.clean('25100321')
29
Traceback (most recent call last):
31
ValidationError: [u'Enter a postal code in the format XXXXXXX or XXX-XXXX.']
33
Traceback (most recent call last):
35
ValidationError: [u'This field is required.']
37
>>> f = JPPostalCodeField(required=False)
38
>>> f.clean('251-0032')
40
>>> f.clean('2510032')
42
>>> f.clean('2510-032')
43
Traceback (most recent call last):
45
ValidationError: [u'Enter a postal code in the format XXXXXXX or XXX-XXXX.']
51
# JPPrefectureSelect ###############################################################
53
A Select widget that uses a list of Japanese prefectures as its choices.
54
>>> from django.contrib.localflavor.jp.forms import JPPrefectureSelect
55
>>> w = JPPrefectureSelect()
56
>>> print w.render('prefecture', 'kanagawa')
57
<select name="prefecture">
58
<option value="hokkaido">Hokkaido</option>
59
<option value="aomori">Aomori</option>
60
<option value="iwate">Iwate</option>
61
<option value="miyagi">Miyagi</option>
62
<option value="akita">Akita</option>
63
<option value="yamagata">Yamagata</option>
64
<option value="fukushima">Fukushima</option>
65
<option value="ibaraki">Ibaraki</option>
66
<option value="tochigi">Tochigi</option>
67
<option value="gunma">Gunma</option>
68
<option value="saitama">Saitama</option>
69
<option value="chiba">Chiba</option>
70
<option value="tokyo">Tokyo</option>
71
<option value="kanagawa" selected="selected">Kanagawa</option>
72
<option value="yamanashi">Yamanashi</option>
73
<option value="nagano">Nagano</option>
74
<option value="niigata">Niigata</option>
75
<option value="toyama">Toyama</option>
76
<option value="ishikawa">Ishikawa</option>
77
<option value="fukui">Fukui</option>
78
<option value="gifu">Gifu</option>
79
<option value="shizuoka">Shizuoka</option>
80
<option value="aichi">Aichi</option>
81
<option value="mie">Mie</option>
82
<option value="shiga">Shiga</option>
83
<option value="kyoto">Kyoto</option>
84
<option value="osaka">Osaka</option>
85
<option value="hyogo">Hyogo</option>
86
<option value="nara">Nara</option>
87
<option value="wakayama">Wakayama</option>
88
<option value="tottori">Tottori</option>
89
<option value="shimane">Shimane</option>
90
<option value="okayama">Okayama</option>
91
<option value="hiroshima">Hiroshima</option>
92
<option value="yamaguchi">Yamaguchi</option>
93
<option value="tokushima">Tokushima</option>
94
<option value="kagawa">Kagawa</option>
95
<option value="ehime">Ehime</option>
96
<option value="kochi">Kochi</option>
97
<option value="fukuoka">Fukuoka</option>
98
<option value="saga">Saga</option>
99
<option value="nagasaki">Nagasaki</option>
100
<option value="kumamoto">Kumamoto</option>
101
<option value="oita">Oita</option>
102
<option value="miyazaki">Miyazaki</option>
103
<option value="kagoshima">Kagoshima</option>
104
<option value="okinawa">Okinawa</option>