1
0
mirror of https://github.com/django/django.git synced 2025-07-04 17:59:13 +00:00

[1.2.X] Converted Indonesian localflavor doctests to unittests. We have always been a war with doctests. Thanks to Idan Gazit. Backport of [14941].

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@14966 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Alex Gaynor 2010-12-18 22:13:39 +00:00
parent 994ba4f3ad
commit 3c50c138c5
3 changed files with 175 additions and 169 deletions

View File

@ -1,175 +1,181 @@
# -*- coding: utf-8 -*- from django.contrib.localflavor.id.forms import (IDPhoneNumberField,
# Tests for the contrib/localflavor/ ID form fields. IDPostCodeField, IDNationalIdentityNumberField, IDLicensePlateField,
IDProvinceSelect, IDLicensePlatePrefixSelect)
tests = r""" from utils import LocalFlavorTestCase
# IDPhoneNumberField ########################################################
>>> from django.contrib.localflavor.id.forms import IDPhoneNumberField class IDLocalFlavorTests(LocalFlavorTestCase):
>>> f = IDPhoneNumberField(required=False) def test_IDProvinceSelect(self):
>>> f.clean('') f = IDProvinceSelect()
u'' out = u'''<select name="provinces">
>>> f.clean('0812-3456789') <option value="BLI">Bali</option>
u'0812-3456789' <option value="BTN">Banten</option>
>>> f.clean('081234567890') <option value="BKL">Bengkulu</option>
u'081234567890' <option value="DIY">Yogyakarta</option>
>>> f.clean('021 345 6789') <option value="JKT">Jakarta</option>
u'021 345 6789' <option value="GOR">Gorontalo</option>
>>> f.clean('0213456789') <option value="JMB">Jambi</option>
u'0213456789' <option value="JBR">Jawa Barat</option>
>>> f.clean('0123456789') <option value="JTG">Jawa Tengah</option>
Traceback (most recent call last): <option value="JTM">Jawa Timur</option>
... <option value="KBR">Kalimantan Barat</option>
ValidationError: [u'Enter a valid phone number'] <option value="KSL">Kalimantan Selatan</option>
>>> f.clean('+62-21-3456789') <option value="KTG">Kalimantan Tengah</option>
u'+62-21-3456789' <option value="KTM">Kalimantan Timur</option>
>>> f.clean('+62-021-3456789') <option value="BBL">Kepulauan Bangka-Belitung</option>
Traceback (most recent call last): <option value="KRI">Kepulauan Riau</option>
... <option value="LPG" selected="selected">Lampung</option>
ValidationError: [u'Enter a valid phone number'] <option value="MLK">Maluku</option>
>>> f.clean('(021) 345 6789') <option value="MUT">Maluku Utara</option>
u'(021) 345 6789' <option value="NAD">Nanggroe Aceh Darussalam</option>
>>> f.clean('+62-021-3456789') <option value="NTB">Nusa Tenggara Barat</option>
Traceback (most recent call last): <option value="NTT">Nusa Tenggara Timur</option>
... <option value="PPA">Papua</option>
ValidationError: [u'Enter a valid phone number'] <option value="PPB">Papua Barat</option>
>>> f.clean('+62-0812-3456789') <option value="RIU">Riau</option>
Traceback (most recent call last): <option value="SLB">Sulawesi Barat</option>
... <option value="SLS">Sulawesi Selatan</option>
ValidationError: [u'Enter a valid phone number'] <option value="SLT">Sulawesi Tengah</option>
>>> f.clean('0812345678901') <option value="SLR">Sulawesi Tenggara</option>
Traceback (most recent call last): <option value="SLU">Sulawesi Utara</option>
... <option value="SMB">Sumatera Barat</option>
ValidationError: [u'Enter a valid phone number'] <option value="SMS">Sumatera Selatan</option>
>>> f.clean('foo') <option value="SMU">Sumatera Utara</option>
Traceback (most recent call last): </select>'''
... self.assertEqual(f.render('provinces', 'LPG'), out)
ValidationError: [u'Enter a valid phone number']
# IDPostCodeField ############################################################ def test_IDLicensePlatePrefixSelect(self):
f = IDLicensePlatePrefixSelect()
out = u'''<select name="codes">
<option value="A">Banten</option>
<option value="AA">Magelang</option>
<option value="AB">Yogyakarta</option>
<option value="AD">Surakarta - Solo</option>
<option value="AE">Madiun</option>
<option value="AG">Kediri</option>
<option value="B">Jakarta</option>
<option value="BA">Sumatera Barat</option>
<option value="BB">Tapanuli</option>
<option value="BD">Bengkulu</option>
<option value="BE" selected="selected">Lampung</option>
<option value="BG">Sumatera Selatan</option>
<option value="BH">Jambi</option>
<option value="BK">Sumatera Utara</option>
<option value="BL">Nanggroe Aceh Darussalam</option>
<option value="BM">Riau</option>
<option value="BN">Kepulauan Bangka Belitung</option>
<option value="BP">Kepulauan Riau</option>
<option value="CC">Corps Consulate</option>
<option value="CD">Corps Diplomatic</option>
<option value="D">Bandung</option>
<option value="DA">Kalimantan Selatan</option>
<option value="DB">Sulawesi Utara Daratan</option>
<option value="DC">Sulawesi Barat</option>
<option value="DD">Sulawesi Selatan</option>
<option value="DE">Maluku</option>
<option value="DG">Maluku Utara</option>
<option value="DH">NTT - Timor</option>
<option value="DK">Bali</option>
<option value="DL">Sulawesi Utara Kepulauan</option>
<option value="DM">Gorontalo</option>
<option value="DN">Sulawesi Tengah</option>
<option value="DR">NTB - Lombok</option>
<option value="DS">Papua dan Papua Barat</option>
<option value="DT">Sulawesi Tenggara</option>
<option value="E">Cirebon</option>
<option value="EA">NTB - Sumbawa</option>
<option value="EB">NTT - Flores</option>
<option value="ED">NTT - Sumba</option>
<option value="F">Bogor</option>
<option value="G">Pekalongan</option>
<option value="H">Semarang</option>
<option value="K">Pati</option>
<option value="KB">Kalimantan Barat</option>
<option value="KH">Kalimantan Tengah</option>
<option value="KT">Kalimantan Timur</option>
<option value="L">Surabaya</option>
<option value="M">Madura</option>
<option value="N">Malang</option>
<option value="P">Jember</option>
<option value="R">Banyumas</option>
<option value="RI">Federal Government</option>
<option value="S">Bojonegoro</option>
<option value="T">Purwakarta</option>
<option value="W">Sidoarjo</option>
<option value="Z">Garut</option>
</select>'''
self.assertEqual(f.render('codes', 'BE'), out)
>>> from django.contrib.localflavor.id.forms import IDPostCodeField def test_IDPhoneNumberField(self):
>>> f = IDPostCodeField(required=False) error_invalid = [u'Enter a valid phone number']
>>> f.clean('') valid = {
u'' '0812-3456789': u'0812-3456789',
>>> f.clean('12340') '081234567890': u'081234567890',
u'12340' '021 345 6789': u'021 345 6789',
>>> f.clean('25412') '0213456789': u'0213456789',
u'25412' '+62-21-3456789': u'+62-21-3456789',
>>> f.clean(' 12340 ') '(021) 345 6789': u'(021) 345 6789',
u'12340' }
>>> f.clean('12 3 4 0') invalid = {
Traceback (most recent call last): '0123456789': error_invalid,
... '+62-021-3456789': error_invalid,
ValidationError: [u'Enter a valid post code'] '+62-021-3456789': error_invalid,
>>> f.clean('12345') '+62-0812-3456789': error_invalid,
Traceback (most recent call last): '0812345678901': error_invalid,
... 'foo': error_invalid,
ValidationError: [u'Enter a valid post code'] }
>>> f.clean('10100') self.assertFieldOutput(IDPhoneNumberField, valid, invalid)
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid post code']
>>> f.clean('123456')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid post code']
>>> f.clean('foo')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid post code']
# IDNationalIdentityNumberField ######################################################### def test_IDPostCodeField(self):
error_invalid = [u'Enter a valid post code']
valid = {
'12340': u'12340',
'25412': u'25412',
' 12340 ': u'12340',
}
invalid = {
'12 3 4 0': error_invalid,
'12345': error_invalid,
'10100': error_invalid,
'123456': error_invalid,
'foo': error_invalid,
}
self.assertFieldOutput(IDPostCodeField, valid, invalid)
>>> from django.contrib.localflavor.id.forms import IDNationalIdentityNumberField def test_IDNationalIdentityNumberField(self):
>>> f = IDNationalIdentityNumberField(required=False) error_invalid = [u'Enter a valid NIK/KTP number']
>>> f.clean('') valid = {
u'' ' 12.3456.010178 3456 ': u'12.3456.010178.3456',
>>> f.clean(' 12.3456.010178 3456 ') '1234560101783456': u'12.3456.010178.3456',
u'12.3456.010178.3456' '12.3456.010101.3456': u'12.3456.010101.3456',
>>> f.clean('1234560101783456') }
u'12.3456.010178.3456' invalid = {
>>> f.clean('12.3456.010101.3456') '12.3456.310278.3456': error_invalid,
u'12.3456.010101.3456' '00.0000.010101.0000': error_invalid,
>>> f.clean('12.3456.310278.3456') '1234567890123456': error_invalid,
Traceback (most recent call last): 'foo': error_invalid,
... }
ValidationError: [u'Enter a valid NIK/KTP number'] self.assertFieldOutput(IDNationalIdentityNumberField, valid, invalid)
>>> f.clean('00.0000.010101.0000')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid NIK/KTP number']
>>> f.clean('1234567890123456')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid NIK/KTP number']
>>> f.clean('foo')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid NIK/KTP number']
# IDProvinceSelect ########################################################## def test_IDLicensePlateField(self):
error_invalid = [u'Enter a valid vehicle license plate number']
>>> from django.contrib.localflavor.id.forms import IDProvinceSelect valid = {
>>> s = IDProvinceSelect() ' b 1234 ab ': u'B 1234 AB',
>>> s.render('provinces', 'LPG') 'B 1234 ABC': u'B 1234 ABC',
u'<select name="provinces">\n<option value="BLI">Bali</option>\n<option value="BTN">Banten</option>\n<option value="BKL">Bengkulu</option>\n<option value="DIY">Yogyakarta</option>\n<option value="JKT">Jakarta</option>\n<option value="GOR">Gorontalo</option>\n<option value="JMB">Jambi</option>\n<option value="JBR">Jawa Barat</option>\n<option value="JTG">Jawa Tengah</option>\n<option value="JTM">Jawa Timur</option>\n<option value="KBR">Kalimantan Barat</option>\n<option value="KSL">Kalimantan Selatan</option>\n<option value="KTG">Kalimantan Tengah</option>\n<option value="KTM">Kalimantan Timur</option>\n<option value="BBL">Kepulauan Bangka-Belitung</option>\n<option value="KRI">Kepulauan Riau</option>\n<option value="LPG" selected="selected">Lampung</option>\n<option value="MLK">Maluku</option>\n<option value="MUT">Maluku Utara</option>\n<option value="NAD">Nanggroe Aceh Darussalam</option>\n<option value="NTB">Nusa Tenggara Barat</option>\n<option value="NTT">Nusa Tenggara Timur</option>\n<option value="PPA">Papua</option>\n<option value="PPB">Papua Barat</option>\n<option value="RIU">Riau</option>\n<option value="SLB">Sulawesi Barat</option>\n<option value="SLS">Sulawesi Selatan</option>\n<option value="SLT">Sulawesi Tengah</option>\n<option value="SLR">Sulawesi Tenggara</option>\n<option value="SLU">Sulawesi Utara</option>\n<option value="SMB">Sumatera Barat</option>\n<option value="SMS">Sumatera Selatan</option>\n<option value="SMU">Sumatera Utara</option>\n</select>' 'A 12': u'A 12',
'DK 12345 12': u'DK 12345 12',
# IDLicensePlatePrefixelect ######################################################################## 'RI 10': u'RI 10',
'CD 12 12': u'CD 12 12',
>>> from django.contrib.localflavor.id.forms import IDLicensePlatePrefixSelect }
>>> s = IDLicensePlatePrefixSelect() invalid = {
>>> s.render('codes', 'BE') 'CD 10 12': error_invalid,
u'<select name="codes">\n<option value="A">Banten</option>\n<option value="AA">Magelang</option>\n<option value="AB">Yogyakarta</option>\n<option value="AD">Surakarta - Solo</option>\n<option value="AE">Madiun</option>\n<option value="AG">Kediri</option>\n<option value="B">Jakarta</option>\n<option value="BA">Sumatera Barat</option>\n<option value="BB">Tapanuli</option>\n<option value="BD">Bengkulu</option>\n<option value="BE" selected="selected">Lampung</option>\n<option value="BG">Sumatera Selatan</option>\n<option value="BH">Jambi</option>\n<option value="BK">Sumatera Utara</option>\n<option value="BL">Nanggroe Aceh Darussalam</option>\n<option value="BM">Riau</option>\n<option value="BN">Kepulauan Bangka Belitung</option>\n<option value="BP">Kepulauan Riau</option>\n<option value="CC">Corps Consulate</option>\n<option value="CD">Corps Diplomatic</option>\n<option value="D">Bandung</option>\n<option value="DA">Kalimantan Selatan</option>\n<option value="DB">Sulawesi Utara Daratan</option>\n<option value="DC">Sulawesi Barat</option>\n<option value="DD">Sulawesi Selatan</option>\n<option value="DE">Maluku</option>\n<option value="DG">Maluku Utara</option>\n<option value="DH">NTT - Timor</option>\n<option value="DK">Bali</option>\n<option value="DL">Sulawesi Utara Kepulauan</option>\n<option value="DM">Gorontalo</option>\n<option value="DN">Sulawesi Tengah</option>\n<option value="DR">NTB - Lombok</option>\n<option value="DS">Papua dan Papua Barat</option>\n<option value="DT">Sulawesi Tenggara</option>\n<option value="E">Cirebon</option>\n<option value="EA">NTB - Sumbawa</option>\n<option value="EB">NTT - Flores</option>\n<option value="ED">NTT - Sumba</option>\n<option value="F">Bogor</option>\n<option value="G">Pekalongan</option>\n<option value="H">Semarang</option>\n<option value="K">Pati</option>\n<option value="KB">Kalimantan Barat</option>\n<option value="KH">Kalimantan Tengah</option>\n<option value="KT">Kalimantan Timur</option>\n<option value="L">Surabaya</option>\n<option value="M">Madura</option>\n<option value="N">Malang</option>\n<option value="P">Jember</option>\n<option value="R">Banyumas</option>\n<option value="RI">Federal Government</option>\n<option value="S">Bojonegoro</option>\n<option value="T">Purwakarta</option>\n<option value="W">Sidoarjo</option>\n<option value="Z">Garut</option>\n</select>' 'CD 1234 12': error_invalid,
'RI 10 AB': error_invalid,
# IDLicensePlateField ####################################################################### 'B 12345 01': error_invalid,
'N 1234 12': error_invalid,
>>> from django.contrib.localflavor.id.forms import IDLicensePlateField 'A 12 XYZ': error_invalid,
>>> f = IDLicensePlateField(required=False) 'Q 1234 AB': error_invalid,
>>> f.clean('') 'foo': error_invalid,
u'' }
>>> f.clean(' b 1234 ab ') self.assertFieldOutput(IDLicensePlateField, valid, invalid)
u'B 1234 AB'
>>> f.clean('B 1234 ABC')
u'B 1234 ABC'
>>> f.clean('A 12')
u'A 12'
>>> f.clean('DK 12345 12')
u'DK 12345 12'
>>> f.clean('RI 10')
u'RI 10'
>>> f.clean('CD 12 12')
u'CD 12 12'
>>> f.clean('CD 10 12')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid vehicle license plate number']
>>> f.clean('CD 1234 12')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid vehicle license plate number']
>>> f.clean('RI 10 AB')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid vehicle license plate number']
>>> f.clean('B 12345 01')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid vehicle license plate number']
>>> f.clean('N 1234 12')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid vehicle license plate number']
>>> f.clean('A 12 XYZ')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid vehicle license plate number']
>>> f.clean('Q 1234 AB')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid vehicle license plate number']
>>> f.clean('foo')
Traceback (most recent call last):
...
ValidationError: [u'Enter a valid vehicle license plate number']
"""

View File

@ -1,6 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from localflavor.cz import tests as localflavor_cz_tests from localflavor.cz import tests as localflavor_cz_tests
from localflavor.id import tests as localflavor_id_tests
from localflavor.ie import tests as localflavor_ie_tests from localflavor.ie import tests as localflavor_ie_tests
from localflavor.is_ import tests as localflavor_is_tests from localflavor.is_ import tests as localflavor_is_tests
from localflavor.it import tests as localflavor_it_tests from localflavor.it import tests as localflavor_it_tests
@ -30,11 +29,11 @@ from localflavor.es import ESLocalFlavorTests
from localflavor.fi import FILocalFlavorTests from localflavor.fi import FILocalFlavorTests
from localflavor.fr import FRLocalFlavorTests from localflavor.fr import FRLocalFlavorTests
from localflavor.generic import GenericLocalFlavorTests from localflavor.generic import GenericLocalFlavorTests
from localflavor.id import IDLocalFlavorTests
__test__ = { __test__ = {
'localflavor_cz_tests': localflavor_cz_tests, 'localflavor_cz_tests': localflavor_cz_tests,
'localflavor_id_tests': localflavor_id_tests,
'localflavor_ie_tests': localflavor_ie_tests, 'localflavor_ie_tests': localflavor_ie_tests,
'localflavor_is_tests': localflavor_is_tests, 'localflavor_is_tests': localflavor_is_tests,
'localflavor_it_tests': localflavor_it_tests, 'localflavor_it_tests': localflavor_it_tests,

View File

@ -25,4 +25,5 @@ from regressiontests.forms.localflavortests import (
FILocalFlavorTests, FILocalFlavorTests,
FRLocalFlavorTests, FRLocalFlavorTests,
GenericLocalFlavorTests, GenericLocalFlavorTests,
IDLocalFlavorTests,
) )