diff options
| author | Boulder Sprinters <boulder-sprinters@djangoproject.com> | 2007-04-02 15:36:31 +0000 |
|---|---|---|
| committer | Boulder Sprinters <boulder-sprinters@djangoproject.com> | 2007-04-02 15:36:31 +0000 |
| commit | a3053273c8a5d450a0cd73ee8deebc277d8c4170 (patch) | |
| tree | 040ebe76a8c7814e888c6669deec86d6c7ef8940 /tests/regressiontests/forms/tests.py | |
| parent | b86d69f52920adf8e065bf6952ab6b3814211d4e (diff) | |
boulder-oracle-sprint: Merged to [4905].
git-svn-id: http://code.djangoproject.com/svn/django/branches/boulder-oracle-sprint@4906 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/forms/tests.py')
| -rw-r--r-- | tests/regressiontests/forms/tests.py | 622 |
1 files changed, 10 insertions, 612 deletions
diff --git a/tests/regressiontests/forms/tests.py b/tests/regressiontests/forms/tests.py index f805a221aa..8ecc9f0205 100644 --- a/tests/regressiontests/forms/tests.py +++ b/tests/regressiontests/forms/tests.py @@ -1,5 +1,8 @@ # -*- coding: utf-8 -*- -r""" +from localflavor import localflavor_tests +from regressions import regression_tests + +form_tests = r""" >>> from django.newforms import * >>> import datetime >>> import re @@ -3268,617 +3271,6 @@ True <option value="2016">2016</option> </select> -# USZipCodeField ############################################################## - -USZipCodeField validates that the data is either a five-digit U.S. zip code or -a zip+4. ->>> from django.contrib.localflavor.usa.forms import USZipCodeField ->>> f = USZipCodeField() ->>> f.clean('60606') -u'60606' ->>> f.clean(60606) -u'60606' ->>> f.clean('04000') -u'04000' ->>> f.clean('4000') -Traceback (most recent call last): -... -ValidationError: [u'Enter a zip code in the format XXXXX or XXXXX-XXXX.'] ->>> f.clean('60606-1234') -u'60606-1234' ->>> f.clean('6060-1234') -Traceback (most recent call last): -... -ValidationError: [u'Enter a zip code in the format XXXXX or XXXXX-XXXX.'] ->>> f.clean('60606-') -Traceback (most recent call last): -... -ValidationError: [u'Enter a zip code in the format XXXXX or XXXXX-XXXX.'] ->>> f.clean(None) -Traceback (most recent call last): -... -ValidationError: [u'This field is required.'] ->>> f.clean('') -Traceback (most recent call last): -... -ValidationError: [u'This field is required.'] - ->>> f = USZipCodeField(required=False) ->>> f.clean('60606') -u'60606' ->>> f.clean(60606) -u'60606' ->>> f.clean('04000') -u'04000' ->>> f.clean('4000') -Traceback (most recent call last): -... -ValidationError: [u'Enter a zip code in the format XXXXX or XXXXX-XXXX.'] ->>> f.clean('60606-1234') -u'60606-1234' ->>> f.clean('6060-1234') -Traceback (most recent call last): -... -ValidationError: [u'Enter a zip code in the format XXXXX or XXXXX-XXXX.'] ->>> f.clean('60606-') -Traceback (most recent call last): -... -ValidationError: [u'Enter a zip code in the format XXXXX or XXXXX-XXXX.'] ->>> f.clean(None) -u'' ->>> f.clean('') -u'' - -# USPhoneNumberField ########################################################## - -USPhoneNumberField validates that the data is a valid U.S. phone number, -including the area code. It's normalized to XXX-XXX-XXXX format. ->>> from django.contrib.localflavor.usa.forms import USPhoneNumberField ->>> f = USPhoneNumberField() ->>> f.clean('312-555-1212') -u'312-555-1212' ->>> f.clean('3125551212') -u'312-555-1212' ->>> f.clean('312 555-1212') -u'312-555-1212' ->>> f.clean('(312) 555-1212') -u'312-555-1212' ->>> f.clean('312 555 1212') -u'312-555-1212' ->>> f.clean('312.555.1212') -u'312-555-1212' ->>> f.clean('312.555-1212') -u'312-555-1212' ->>> f.clean(' (312) 555.1212 ') -u'312-555-1212' ->>> f.clean('555-1212') -Traceback (most recent call last): -... -ValidationError: [u'Phone numbers must be in XXX-XXX-XXXX format.'] ->>> f.clean('312-55-1212') -Traceback (most recent call last): -... -ValidationError: [u'Phone numbers must be in XXX-XXX-XXXX format.'] ->>> f.clean(None) -Traceback (most recent call last): -... -ValidationError: [u'This field is required.'] ->>> f.clean('') -Traceback (most recent call last): -... -ValidationError: [u'This field is required.'] - ->>> f = USPhoneNumberField(required=False) ->>> f.clean('312-555-1212') -u'312-555-1212' ->>> f.clean('3125551212') -u'312-555-1212' ->>> f.clean('312 555-1212') -u'312-555-1212' ->>> f.clean('(312) 555-1212') -u'312-555-1212' ->>> f.clean('312 555 1212') -u'312-555-1212' ->>> f.clean('312.555.1212') -u'312-555-1212' ->>> f.clean('312.555-1212') -u'312-555-1212' ->>> f.clean(' (312) 555.1212 ') -u'312-555-1212' ->>> f.clean('555-1212') -Traceback (most recent call last): -... -ValidationError: [u'Phone numbers must be in XXX-XXX-XXXX format.'] ->>> f.clean('312-55-1212') -Traceback (most recent call last): -... -ValidationError: [u'Phone numbers must be in XXX-XXX-XXXX format.'] ->>> f.clean(None) -u'' ->>> f.clean('') -u'' - -# USStateField ################################################################ - -USStateField validates that the data is either an abbreviation or name of a -U.S. state. ->>> from django.contrib.localflavor.usa.forms import USStateField ->>> f = USStateField() ->>> f.clean('il') -u'IL' ->>> f.clean('IL') -u'IL' ->>> f.clean('illinois') -u'IL' ->>> f.clean(' illinois ') -u'IL' ->>> f.clean(60606) -Traceback (most recent call last): -... -ValidationError: [u'Enter a U.S. state or territory.'] ->>> f.clean(None) -Traceback (most recent call last): -... -ValidationError: [u'This field is required.'] ->>> f.clean('') -Traceback (most recent call last): -... -ValidationError: [u'This field is required.'] - ->>> f = USStateField(required=False) ->>> f.clean('il') -u'IL' ->>> f.clean('IL') -u'IL' ->>> f.clean('illinois') -u'IL' ->>> f.clean(' illinois ') -u'IL' ->>> f.clean(60606) -Traceback (most recent call last): -... -ValidationError: [u'Enter a U.S. state or territory.'] ->>> f.clean(None) -u'' ->>> f.clean('') -u'' - -# USStateSelect ############################################################### - -USStateSelect is a Select widget that uses a list of U.S. states/territories -as its choices. ->>> from django.contrib.localflavor.usa.forms import USStateSelect ->>> w = USStateSelect() ->>> print w.render('state', 'IL') -<select name="state"> -<option value="AL">Alabama</option> -<option value="AK">Alaska</option> -<option value="AS">American Samoa</option> -<option value="AZ">Arizona</option> -<option value="AR">Arkansas</option> -<option value="CA">California</option> -<option value="CO">Colorado</option> -<option value="CT">Connecticut</option> -<option value="DE">Deleware</option> -<option value="DC">District of Columbia</option> -<option value="FM">Federated States of Micronesia</option> -<option value="FL">Florida</option> -<option value="GA">Georgia</option> -<option value="GU">Guam</option> -<option value="HI">Hawaii</option> -<option value="ID">Idaho</option> -<option value="IL" selected="selected">Illinois</option> -<option value="IN">Indiana</option> -<option value="IA">Iowa</option> -<option value="KS">Kansas</option> -<option value="KY">Kentucky</option> -<option value="LA">Louisiana</option> -<option value="ME">Maine</option> -<option value="MH">Marshall Islands</option> -<option value="MD">Maryland</option> -<option value="MA">Massachusetts</option> -<option value="MI">Michigan</option> -<option value="MN">Minnesota</option> -<option value="MS">Mississippi</option> -<option value="MO">Missouri</option> -<option value="MT">Montana</option> -<option value="NE">Nebraska</option> -<option value="NV">Nevada</option> -<option value="NH">New Hampshire</option> -<option value="NJ">New Jersey</option> -<option value="NM">New Mexico</option> -<option value="NY">New York</option> -<option value="NC">North Carolina</option> -<option value="ND">North Dakota</option> -<option value="MP">Northern Mariana Islands</option> -<option value="OH">Ohio</option> -<option value="OK">Oklahoma</option> -<option value="OR">Oregon</option> -<option value="PW">Palau</option> -<option value="PA">Pennsylvania</option> -<option value="PR">Puerto Rico</option> -<option value="RI">Rhode Island</option> -<option value="SC">South Carolina</option> -<option value="SD">South Dakota</option> -<option value="TN">Tennessee</option> -<option value="TX">Texas</option> -<option value="UT">Utah</option> -<option value="VT">Vermont</option> -<option value="VI">Virgin Islands</option> -<option value="VA">Virginia</option> -<option value="WA">Washington</option> -<option value="WV">West Virginia</option> -<option value="WI">Wisconsin</option> -<option value="WY">Wyoming</option> -</select> - -# UKPostcodeField ############################################################# - -UKPostcodeField validates that the data is a valid UK postcode. ->>> from django.contrib.localflavor.uk.forms import UKPostcodeField ->>> f = UKPostcodeField() ->>> f.clean('BT32 4PX') -u'BT32 4PX' ->>> f.clean('GIR 0AA') -u'GIR 0AA' ->>> f.clean('BT324PX') -Traceback (most recent call last): -... -ValidationError: [u'Enter a postcode. A space is required between the two postcode parts.'] ->>> f.clean('1NV 4L1D') -Traceback (most recent call last): -... -ValidationError: [u'Enter a postcode. A space is required between the two postcode parts.'] ->>> f.clean(None) -Traceback (most recent call last): -... -ValidationError: [u'This field is required.'] ->>> f.clean('') -Traceback (most recent call last): -... -ValidationError: [u'This field is required.'] - ->>> f = UKPostcodeField(required=False) ->>> f.clean('BT32 4PX') -u'BT32 4PX' ->>> f.clean('GIR 0AA') -u'GIR 0AA' ->>> f.clean('1NV 4L1D') -Traceback (most recent call last): -... -ValidationError: [u'Enter a postcode. A space is required between the two postcode parts.'] ->>> f.clean('BT324PX') -Traceback (most recent call last): -... -ValidationError: [u'Enter a postcode. A space is required between the two postcode parts.'] ->>> f.clean(None) -u'' ->>> f.clean('') -u'' - -# FRZipCodeField ############################################################# - -FRZipCodeField validates that the data is a valid FR zipcode. ->>> from django.contrib.localflavor.fr.forms import FRZipCodeField ->>> f = FRZipCodeField() ->>> f.clean('75001') -u'75001' ->>> f.clean('93200') -u'93200' ->>> f.clean('2A200') -Traceback (most recent call last): -... -ValidationError: [u'Enter a zip code in the format XXXXX.'] ->>> f.clean('980001') -Traceback (most recent call last): -... -ValidationError: [u'Enter a zip code in the format XXXXX.'] ->>> f.clean(None) -Traceback (most recent call last): -... -ValidationError: [u'This field is required.'] ->>> f.clean('') -Traceback (most recent call last): -... -ValidationError: [u'This field is required.'] - ->>> f = FRZipCodeField(required=False) ->>> f.clean('75001') -u'75001' ->>> f.clean('93200') -u'93200' ->>> f.clean('2A200') -Traceback (most recent call last): -... -ValidationError: [u'Enter a zip code in the format XXXXX.'] ->>> f.clean('980001') -Traceback (most recent call last): -... -ValidationError: [u'Enter a zip code in the format XXXXX.'] ->>> f.clean(None) -u'' ->>> f.clean('') -u'' - - -# FRPhoneNumberField ########################################################## - -FRPhoneNumberField validates that the data is a valid french phone number. -It's normalized to 0X XX XX XX XX format. Dots are valid too. ->>> from django.contrib.localflavor.fr.forms import FRPhoneNumberField ->>> f = FRPhoneNumberField() ->>> f.clean('01 55 44 58 64') -u'01 55 44 58 64' ->>> f.clean('0155445864') -u'01 55 44 58 64' ->>> f.clean('01 5544 5864') -u'01 55 44 58 64' ->>> f.clean('01 55.44.58.64') -u'01 55 44 58 64' ->>> f.clean('01.55.44.58.64') -u'01 55 44 58 64' ->>> f.clean('01,55,44,58,64') -Traceback (most recent call last): -... -ValidationError: [u'Phone numbers must be in 0X XX XX XX XX format.'] ->>> f.clean('555 015 544') -Traceback (most recent call last): -... -ValidationError: [u'Phone numbers must be in 0X XX XX XX XX format.'] ->>> f.clean(None) -Traceback (most recent call last): -... -ValidationError: [u'This field is required.'] ->>> f.clean('') -Traceback (most recent call last): -... -ValidationError: [u'This field is required.'] - ->>> f = FRPhoneNumberField(required=False) ->>> f.clean('01 55 44 58 64') -u'01 55 44 58 64' ->>> f.clean('0155445864') -u'01 55 44 58 64' ->>> f.clean('01 5544 5864') -u'01 55 44 58 64' ->>> f.clean('01 55.44.58.64') -u'01 55 44 58 64' ->>> f.clean('01.55.44.58.64') -u'01 55 44 58 64' ->>> f.clean('01,55,44,58,64') -Traceback (most recent call last): -... -ValidationError: [u'Phone numbers must be in 0X XX XX XX XX format.'] ->>> f.clean('555 015 544') -Traceback (most recent call last): -... -ValidationError: [u'Phone numbers must be in 0X XX XX XX XX format.'] ->>> f.clean(None) -u'' ->>> f.clean('') -u'' - -# FRDepartmentSelect ############################################################### - -FRDepartmentSelect is a Select widget that uses a list of french departments -including DOM TOM ->>> from django.contrib.localflavor.fr.forms import FRDepartmentSelect ->>> w = FRDepartmentSelect() ->>> print w.render('dep', 'Paris') -<select name="dep"> -<option value="01">01 - Ain</option> -<option value="02">02 - Aisne</option> -<option value="03">03 - Allier</option> -<option value="04">04 - Alpes-de-Haute-Provence</option> -<option value="05">05 - Hautes-Alpes</option> -<option value="06">06 - Alpes-Maritimes</option> -<option value="07">07 - Ardeche</option> -<option value="08">08 - Ardennes</option> -<option value="09">09 - Ariege</option> -<option value="10">10 - Aube</option> -<option value="11">11 - Aude</option> -<option value="12">12 - Aveyron</option> -<option value="13">13 - Bouches-du-Rhone</option> -<option value="14">14 - Calvados</option> -<option value="15">15 - Cantal</option> -<option value="16">16 - Charente</option> -<option value="17">17 - Charente-Maritime</option> -<option value="18">18 - Cher</option> -<option value="19">19 - Correze</option> -<option value="21">21 - Cote-d'Or</option> -<option value="22">22 - Cotes-d'Armor</option> -<option value="23">23 - Creuse</option> -<option value="24">24 - Dordogne</option> -<option value="25">25 - Doubs</option> -<option value="26">26 - Drome</option> -<option value="27">27 - Eure</option> -<option value="28">28 - Eure-et-Loire</option> -<option value="29">29 - Finistere</option> -<option value="2A">2A - Corse-du-Sud</option> -<option value="2B">2B - Haute-Corse</option> -<option value="30">30 - Gard</option> -<option value="31">31 - Haute-Garonne</option> -<option value="32">32 - Gers</option> -<option value="33">33 - Gironde</option> -<option value="34">34 - Herault</option> -<option value="35">35 - Ille-et-Vilaine</option> -<option value="36">36 - Indre</option> -<option value="37">37 - Indre-et-Loire</option> -<option value="38">38 - Isere</option> -<option value="39">39 - Jura</option> -<option value="40">40 - Landes</option> -<option value="41">41 - Loir-et-Cher</option> -<option value="42">42 - Loire</option> -<option value="43">43 - Haute-Loire</option> -<option value="44">44 - Loire-Atlantique</option> -<option value="45">45 - Loiret</option> -<option value="46">46 - Lot</option> -<option value="47">47 - Lot-et-Garonne</option> -<option value="48">48 - Lozere</option> -<option value="49">49 - Maine-et-Loire</option> -<option value="50">50 - Manche</option> -<option value="51">51 - Marne</option> -<option value="52">52 - Haute-Marne</option> -<option value="53">53 - Mayenne</option> -<option value="54">54 - Meurthe-et-Moselle</option> -<option value="55">55 - Meuse</option> -<option value="56">56 - Morbihan</option> -<option value="57">57 - Moselle</option> -<option value="58">58 - Nievre</option> -<option value="59">59 - Nord</option> -<option value="60">60 - Oise</option> -<option value="61">61 - Orne</option> -<option value="62">62 - Pas-de-Calais</option> -<option value="63">63 - Puy-de-Dome</option> -<option value="64">64 - Pyrenees-Atlantiques</option> -<option value="65">65 - Hautes-Pyrenees</option> -<option value="66">66 - Pyrenees-Orientales</option> -<option value="67">67 - Bas-Rhin</option> -<option value="68">68 - Haut-Rhin</option> -<option value="69">69 - Rhone</option> -<option value="70">70 - Haute-Saone</option> -<option value="71">71 - Saone-et-Loire</option> -<option value="72">72 - Sarthe</option> -<option value="73">73 - Savoie</option> -<option value="74">74 - Haute-Savoie</option> -<option value="75">75 - Paris</option> -<option value="76">76 - Seine-Maritime</option> -<option value="77">77 - Seine-et-Marne</option> -<option value="78">78 - Yvelines</option> -<option value="79">79 - Deux-Sevres</option> -<option value="80">80 - Somme</option> -<option value="81">81 - Tarn</option> -<option value="82">82 - Tarn-et-Garonne</option> -<option value="83">83 - Var</option> -<option value="84">84 - Vaucluse</option> -<option value="85">85 - Vendee</option> -<option value="86">86 - Vienne</option> -<option value="87">87 - Haute-Vienne</option> -<option value="88">88 - Vosges</option> -<option value="89">89 - Yonne</option> -<option value="90">90 - Territoire de Belfort</option> -<option value="91">91 - Essonne</option> -<option value="92">92 - Hauts-de-Seine</option> -<option value="93">93 - Seine-Saint-Denis</option> -<option value="94">94 - Val-de-Marne</option> -<option value="95">95 - Val-d'Oise</option> -<option value="2A">2A - Corse du sud</option> -<option value="2B">2B - Haute Corse</option> -<option value="971">971 - Guadeloupe</option> -<option value="972">972 - Martinique</option> -<option value="973">973 - Guyane</option> -<option value="974">974 - La Reunion</option> -<option value="975">975 - Saint-Pierre-et-Miquelon</option> -<option value="976">976 - Mayotte</option> -<option value="984">984 - Terres Australes et Antarctiques</option> -<option value="986">986 - Wallis et Futuna</option> -<option value="987">987 - Polynesie Francaise</option> -<option value="988">988 - Nouvelle-Caledonie</option> -</select> - -# JPPostalCodeField ############################################################### - -A form field that validates its input is a Japanese postcode. - -Accepts 7 digits(with/out hyphen). ->>> from django.contrib.localflavor.jp.forms import JPPostalCodeField ->>> f = JPPostalCodeField() ->>> f.clean('251-0032') -u'2510032' ->>> f.clean('2510032') -u'2510032' ->>> f.clean('2510-032') -Traceback (most recent call last): -... -ValidationError: [u'Enter a postal code in the format XXXXXXX or XXX-XXXX.'] ->>> f.clean('251a0032') -Traceback (most recent call last): -... -ValidationError: [u'Enter a postal code in the format XXXXXXX or XXX-XXXX.'] ->>> f.clean('a51-0032') -Traceback (most recent call last): -... -ValidationError: [u'Enter a postal code in the format XXXXXXX or XXX-XXXX.'] ->>> f.clean('25100321') -Traceback (most recent call last): -... -ValidationError: [u'Enter a postal code in the format XXXXXXX or XXX-XXXX.'] ->>> f.clean('') -Traceback (most recent call last): -... -ValidationError: [u'This field is required.'] - ->>> f = JPPostalCodeField(required=False) ->>> f.clean('251-0032') -u'2510032' ->>> f.clean('2510032') -u'2510032' ->>> f.clean('2510-032') -Traceback (most recent call last): -... -ValidationError: [u'Enter a postal code in the format XXXXXXX or XXX-XXXX.'] ->>> f.clean('') -u'' ->>> f.clean(None) -u'' - -# JPPrefectureSelect ############################################################### - -A Select widget that uses a list of Japanese prefectures as its choices. ->>> from django.contrib.localflavor.jp.forms import JPPrefectureSelect ->>> w = JPPrefectureSelect() ->>> print w.render('prefecture', 'kanagawa') -<select name="prefecture"> -<option value="hokkaido">Hokkaido</option> -<option value="aomori">Aomori</option> -<option value="iwate">Iwate</option> -<option value="miyagi">Miyagi</option> -<option value="akita">Akita</option> -<option value="yamagata">Yamagata</option> -<option value="fukushima">Fukushima</option> -<option value="ibaraki">Ibaraki</option> -<option value="tochigi">Tochigi</option> -<option value="gunma">Gunma</option> -<option value="saitama">Saitama</option> -<option value="chiba">Chiba</option> -<option value="tokyo">Tokyo</option> -<option value="kanagawa" selected="selected">Kanagawa</option> -<option value="yamanashi">Yamanashi</option> -<option value="nagano">Nagano</option> -<option value="niigata">Niigata</option> -<option value="toyama">Toyama</option> -<option value="ishikawa">Ishikawa</option> -<option value="fukui">Fukui</option> -<option value="gifu">Gifu</option> -<option value="shizuoka">Shizuoka</option> -<option value="aichi">Aichi</option> -<option value="mie">Mie</option> -<option value="shiga">Shiga</option> -<option value="kyoto">Kyoto</option> -<option value="osaka">Osaka</option> -<option value="hyogo">Hyogo</option> -<option value="nara">Nara</option> -<option value="wakayama">Wakayama</option> -<option value="tottori">Tottori</option> -<option value="shimane">Shimane</option> -<option value="okayama">Okayama</option> -<option value="hiroshima">Hiroshima</option> -<option value="yamaguchi">Yamaguchi</option> -<option value="tokushima">Tokushima</option> -<option value="kagawa">Kagawa</option> -<option value="ehime">Ehime</option> -<option value="kochi">Kochi</option> -<option value="fukuoka">Fukuoka</option> -<option value="saga">Saga</option> -<option value="nagasaki">Nagasaki</option> -<option value="kumamoto">Kumamoto</option> -<option value="oita">Oita</option> -<option value="miyazaki">Miyazaki</option> -<option value="kagoshima">Kagoshima</option> -<option value="okinawa">Okinawa</option> -</select> - - ################################# # Tests of underlying functions # ################################# @@ -3903,6 +3295,12 @@ u'1' u'foo' """ +__test__ = { + 'form_tests': form_tests, + 'localflavor': localflavor_tests, + 'regressions': regression_tests, +} + if __name__ == "__main__": import doctest doctest.testmod() |
