Django

Code

Show
Ignore:
Timestamp:
03/30/07 06:49:28 (2 years ago)
Author:
utrebec
Message:

[full-history]
svnmerge: merging in revision(s) 4816,4818-4823,4825-4835,4837,4844-4850,4856-4868 from "http://code.djangoproject.com/svn/django/trunk"

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/full-history

    • Property svnmerge-integrated changed from /django/trunk:7,12-26,33-38,40,43,46-47,53,179-180,189,205,229,235,243,248-249,338,349,361-362,368-370,372-375,419-424,427-429,431,482,485-486,488-489,514,526,551-554,559,599-600,707-709,722-727,729-730,733,738-741,744,748-751,755-770,773,775-780,783,787-788,791,796-799,801-803,815-819,829-841,843-844,848,850-854,864,866,869,874-877,881-886,897-899,901,904,906-910,912-916,918-920,932-934,939,941-944,947,953,955-956,960-966,973-975,979-982,986-987,993-1003,1013-1015,1023-1024,1026-1029,1032,1040-1043,1045-1049,1055-1067,1069-1075,1079,1081-1082,1085-1086,1103,1125-1126,1128-1129,1138-1139,1144,1153-1154,1159-1160,1169,1175,1178,1180-1182,1186-1188,1190,1192,1198,1222-1223,1231,1235,1239-1240,1244-1246,1248,1254-1255,1264,1267-1269,1279-1280,1282,1284,1286-1290,1294,1299,1301,1308-1311,1321,1332-1338,1344-1345,1358,1361-1363,1365,1367,1372-1373,1375,1377,1382-1383,1386-1387,1389-1395,1408,1413-1415,1417,1419,1421,1424-1425,1427,1430-1431,1433,1501,1587,1592,1594-1610,1613-1629,1631-1642,1645-1659,1661,1663-1670,1672,1675,1677-1683,1687,1689,1691-1716,1718,1720-1722,1724-1731,1733-1734,1736-1741,1745-1748,1750-1757,1759-1760,1765,1767-1772,1775,1777,1780,1792,1794,1796-1797,1800-1807,1810,1818,1822-1824,1826-1831,1833,1835-1849,1854-1856,1862-1864,1866,1869-1870,1873-1874,1876-1877,1879,1884-1897,1902,1904,1914-1921,1932-1940,1944-1951,1954-1961,1965,1968,1972,1974,1977,1979,1981,1983,1987-2008,2011,2013,2015-2033,2035,2037-2045,2047-2048,2050-2055,2057,2060-2065,2067,2069-2075,2079-2097,2099-2116,2118,2121,2124-2130,2135,2137-2138,2140-2175,2177-2186,2188-2191,2193-2203,2205-2223,2225,2227,2232,2236-2238,2241-2270,2273-2281,2283-2293,2295-2296,2301,2303-2305,2307-2308,2310,2313-2315,2317-2318,2320,2324,2329-2330,2335,2339-2340,2344-2345,2351,2354-2355,2357,2360-2363,2366,2369-2370,2372-2374,2376-2377,2380-2388,2393-2412,2416,2418,2421-2425,2428-2443,2445-2446,2451-2452,2455,2457-2467,2469-2470,2472,2474-2475,2477-2508,2510-2521,2524-2527,2529-2530,2532,2534,2537-2542,2544,2546-2547,2549,2551-2552,2554-2557,2559-2568,2570-2571,2575-2577,2581,2583-2586,2589-2596,2598-2621,2625-2638,2641,2643-2644,2646-2647,2651,2653-2659,2661-2663,2666,2669,2671-2674,2676-2679,2682-2686,2688,2691-2693,2696-2697,2699-2718,2720-2745,2747-2752,2754-2808,2865,2882-2892,2918-2919,2921,2924-2926,2965-2966,2998,3005-3006,3008,3010-3011,3025,3027,3029,3032-3033,3052,3067,3080,3086,3106,3152-3155,3190,3198-3200,3216,3219,3222,3224,3227-3231,3233-3234,3238-3241,3258,3261-3267,3281,3288-3293,3303,3313-3316,3320,3330-3332,3334-3335,3351,3355,3361,3363-3370,3377-3391,3394,3412,3416-3419,3422-3430,3440-3444,3446-3448,3452-3453,3464,3486-3487,3491-3494,3502,3513-3515,3518-3519,3523,3529,3531-3537,3540-3541,3555-3557,3572-3574,3576,3578-3581,3583-3584,3586-3589,3591,3593-3596,3599,3609-3610,3614-3619,3621-3632,3636-4814 to /django/trunk:7,12-26,33-38,40,43,46-47,53,179-180,189,205,229,235,243,248-249,338,349,361-362,368-370,372-375,419-424,427-429,431,482,485-486,488-489,514,526,551-554,559,599-600,707-709,722-727,729-730,733,738-741,744,748-751,755-770,773,775-780,783,787-788,791,796-799,801-803,815-819,829-841,843-844,848,850-854,864,866,869,874-877,881-886,897-899,901,904,906-910,912-916,918-920,932-934,939,941-944,947,953,955-956,960-966,973-975,979-982,986-987,993-1003,1013-1015,1023-1024,1026-1029,1032,1040-1043,1045-1049,1055-1067,1069-1075,1079,1081-1082,1085-1086,1103,1125-1126,1128-1129,1138-1139,1144,1153-1154,1159-1160,1169,1175,1178,1180-1182,1186-1188,1190,1192,1198,1222-1223,1231,1235,1239-1240,1244-1246,1248,1254-1255,1264,1267-1269,1279-1280,1282,1284,1286-1290,1294,1299,1301,1308-1311,1321,1332-1338,1344-1345,1358,1361-1363,1365,1367,1372-1373,1375,1377,1382-1383,1386-1387,1389-1395,1408,1413-1415,1417,1419,1421,1424-1425,1427,1430-1431,1433,1501,1587,1592,1594-1610,1613-1629,1631-1642,1645-1659,1661,1663-1670,1672,1675,1677-1683,1687,1689,1691-1716,1718,1720-1722,1724-1731,1733-1734,1736-1741,1745-1748,1750-1757,1759-1760,1765,1767-1772,1775,1777,1780,1792,1794,1796-1797,1800-1807,1810,1818,1822-1824,1826-1831,1833,1835-1849,1854-1856,1862-1864,1866,1869-1870,1873-1874,1876-1877,1879,1884-1897,1902,1904,1914-1921,1932-1940,1944-1951,1954-1961,1965,1968,1972,1974,1977,1979,1981,1983,1987-2008,2011,2013,2015-2033,2035,2037-2045,2047-2048,2050-2055,2057,2060-2065,2067,2069-2075,2079-2097,2099-2116,2118,2121,2124-2130,2135,2137-2138,2140-2175,2177-2186,2188-2191,2193-2203,2205-2223,2225,2227,2232,2236-2238,2241-2270,2273-2281,2283-2293,2295-2296,2301,2303-2305,2307-2308,2310,2313-2315,2317-2318,2320,2324,2329-2330,2335,2339-2340,2344-2345,2351,2354-2355,2357,2360-2363,2366,2369-2370,2372-2374,2376-2377,2380-2388,2393-2412,2416,2418,2421-2425,2428-2443,2445-2446,2451-2452,2455,2457-2467,2469-2470,2472,2474-2475,2477-2508,2510-2521,2524-2527,2529-2530,2532,2534,2537-2542,2544,2546-2547,2549,2551-2552,2554-2557,2559-2568,2570-2571,2575-2577,2581,2583-2586,2589-2596,2598-2621,2625-2638,2641,2643-2644,2646-2647,2651,2653-2659,2661-2663,2666,2669,2671-2674,2676-2679,2682-2686,2688,2691-2693,2696-2697,2699-2718,2720-2745,2747-2752,2754-2808,2865,2882-2892,2918-2919,2921,2924-2926,2965-2966,2998,3005-3006,3008,3010-3011,3025,3027,3029,3032-3033,3052,3067,3080,3086,3106,3152-3155,3190,3198-3200,3216,3219,3222,3224,3227-3231,3233-3234,3238-3241,3258,3261-3267,3281,3288-3293,3303,3313-3316,3320,3330-3332,3334-3335,3351,3355,3361,3363-3370,3377-3391,3394,3412,3416-3419,3422-3430,3440-3444,3446-3448,3452-3453,3464,3486-3487,3491-3494,3502,3513-3515,3518-3519,3523,3529,3531-3537,3540-3541,3555-3557,3572-3574,3576,3578-3581,3583-3584,3586-3589,3591,3593-3596,3599,3609-3610,3614-3619,3621-3632,3636-4868
  • django/branches/full-history/tests/regressiontests/forms/tests.py

    r4732 r4869  
    35573557u'' 
    35583558 
     3559# FRZipCodeField ############################################################# 
     3560 
     3561FRZipCodeField validates that the data is a valid FR zipcode. 
     3562>>> from django.contrib.localflavor.fr.forms import FRZipCodeField 
     3563>>> f = FRZipCodeField() 
     3564>>> f.clean('75001') 
     3565u'75001' 
     3566>>> f.clean('93200') 
     3567u'93200' 
     3568>>> f.clean('2A200') 
     3569Traceback (most recent call last): 
     3570... 
     3571ValidationError: [u'Enter a zip code in the format XXXXX.'] 
     3572>>> f.clean('980001') 
     3573Traceback (most recent call last): 
     3574... 
     3575ValidationError: [u'Enter a zip code in the format XXXXX.'] 
     3576>>> f.clean(None) 
     3577Traceback (most recent call last): 
     3578... 
     3579ValidationError: [u'This field is required.'] 
     3580>>> f.clean('') 
     3581Traceback (most recent call last): 
     3582... 
     3583ValidationError: [u'This field is required.'] 
     3584 
     3585>>> f = FRZipCodeField(required=False) 
     3586>>> f.clean('75001') 
     3587u'75001' 
     3588>>> f.clean('93200') 
     3589u'93200' 
     3590>>> f.clean('2A200') 
     3591Traceback (most recent call last): 
     3592... 
     3593ValidationError: [u'Enter a zip code in the format XXXXX.'] 
     3594>>> f.clean('980001') 
     3595Traceback (most recent call last): 
     3596... 
     3597ValidationError: [u'Enter a zip code in the format XXXXX.'] 
     3598>>> f.clean(None) 
     3599u'' 
     3600>>> f.clean('') 
     3601u'' 
     3602 
     3603 
     3604# FRPhoneNumberField ########################################################## 
     3605 
     3606FRPhoneNumberField validates that the data is a valid french phone number. 
     3607It's normalized to 0X XX XX XX XX format. Dots are valid too. 
     3608>>> from django.contrib.localflavor.fr.forms import FRPhoneNumberField 
     3609>>> f = FRPhoneNumberField() 
     3610>>> f.clean('01 55 44 58 64') 
     3611u'01 55 44 58 64' 
     3612>>> f.clean('0155445864') 
     3613u'01 55 44 58 64' 
     3614>>> f.clean('01 5544 5864') 
     3615u'01 55 44 58 64' 
     3616>>> f.clean('01 55.44.58.64') 
     3617u'01 55 44 58 64' 
     3618>>> f.clean('01.55.44.58.64') 
     3619u'01 55 44 58 64' 
     3620>>> f.clean('01,55,44,58,64') 
     3621Traceback (most recent call last): 
     3622... 
     3623ValidationError: [u'Phone numbers must be in 0X XX XX XX XX format.'] 
     3624>>> f.clean('555 015 544') 
     3625Traceback (most recent call last): 
     3626... 
     3627ValidationError: [u'Phone numbers must be in 0X XX XX XX XX format.'] 
     3628>>> f.clean(None) 
     3629Traceback (most recent call last): 
     3630... 
     3631ValidationError: [u'This field is required.'] 
     3632>>> f.clean('') 
     3633Traceback (most recent call last): 
     3634... 
     3635ValidationError: [u'This field is required.'] 
     3636 
     3637>>> f = FRPhoneNumberField(required=False) 
     3638>>> f.clean('01 55 44 58 64') 
     3639u'01 55 44 58 64' 
     3640>>> f.clean('0155445864') 
     3641u'01 55 44 58 64' 
     3642>>> f.clean('01 5544 5864') 
     3643u'01 55 44 58 64' 
     3644>>> f.clean('01 55.44.58.64') 
     3645u'01 55 44 58 64' 
     3646>>> f.clean('01.55.44.58.64') 
     3647u'01 55 44 58 64' 
     3648>>> f.clean('01,55,44,58,64') 
     3649Traceback (most recent call last): 
     3650... 
     3651ValidationError: [u'Phone numbers must be in 0X XX XX XX XX format.'] 
     3652>>> f.clean('555 015 544') 
     3653Traceback (most recent call last): 
     3654... 
     3655ValidationError: [u'Phone numbers must be in 0X XX XX XX XX format.'] 
     3656>>> f.clean(None) 
     3657u'' 
     3658>>> f.clean('') 
     3659u'' 
     3660 
     3661# FRDepartmentSelect ############################################################### 
     3662 
     3663FRDepartmentSelect is a Select widget that uses a list of french departments  
     3664including DOM TOM 
     3665>>> from django.contrib.localflavor.fr.forms import FRDepartmentSelect 
     3666>>> w = FRDepartmentSelect() 
     3667>>> print w.render('dep', 'Paris') 
     3668<select name="dep"> 
     3669<option value="01">01 - Ain</option> 
     3670<option value="02">02 - Aisne</option> 
     3671<option value="03">03 - Allier</option> 
     3672<option value="04">04 - Alpes-de-Haute-Provence</option> 
     3673<option value="05">05 - Hautes-Alpes</option> 
     3674<option value="06">06 - Alpes-Maritimes</option> 
     3675<option value="07">07 - Ardeche</option> 
     3676<option value="08">08 - Ardennes</option> 
     3677<option value="09">09 - Ariege</option> 
     3678<option value="10">10 - Aube</option> 
     3679<option value="11">11 - Aude</option> 
     3680<option value="12">12 - Aveyron</option> 
     3681<option value="13">13 - Bouches-du-Rhone</option> 
     3682<option value="14">14 - Calvados</option> 
     3683<option value="15">15 - Cantal</option> 
     3684<option value="16">16 - Charente</option> 
     3685<option value="17">17 - Charente-Maritime</option> 
     3686<option value="18">18 - Cher</option> 
     3687<option value="19">19 - Correze</option> 
     3688<option value="21">21 - Cote-d&#39;Or</option> 
     3689<option value="22">22 - Cotes-d&#39;Armor</option> 
     3690<option value="23">23 - Creuse</option> 
     3691<option value="24">24 - Dordogne</option> 
     3692<option value="25">25 - Doubs</option> 
     3693<option value="26">26 - Drome</option> 
     3694<option value="27">27 - Eure</option> 
     3695<option value="28">28 - Eure-et-Loire</option> 
     3696<option value="29">29 - Finistere</option> 
     3697<option value="2A">2A - Corse-du-Sud</option> 
     3698<option value="2B">2B - Haute-Corse</option> 
     3699<option value="30">30 - Gard</option> 
     3700<option value="31">31 - Haute-Garonne</option> 
     3701<option value="32">32 - Gers</option> 
     3702<option value="33">33 - Gironde</option> 
     3703<option value="34">34 - Herault</option> 
     3704<option value="35">35 - Ille-et-Vilaine</option> 
     3705<option value="36">36 - Indre</option> 
     3706<option value="37">37 - Indre-et-Loire</option> 
     3707<option value="38">38 - Isere</option> 
     3708<option value="39">39 - Jura</option> 
     3709<option value="40">40 - Landes</option> 
     3710<option value="41">41 - Loir-et-Cher</option> 
     3711<option value="42">42 - Loire</option> 
     3712<option value="43">43 - Haute-Loire</option> 
     3713<option value="44">44 - Loire-Atlantique</option> 
     3714<option value="45">45 - Loiret</option> 
     3715<option value="46">46 - Lot</option> 
     3716<option value="47">47 - Lot-et-Garonne</option> 
     3717<option value="48">48 - Lozere</option> 
     3718<option value="49">49 - Maine-et-Loire</option> 
     3719<option value="50">50 - Manche</option> 
     3720<option value="51">51 - Marne</option> 
     3721<option value="52">52 - Haute-Marne</option> 
     3722<option value="53">53 - Mayenne</option> 
     3723<option value="54">54 - Meurthe-et-Moselle</option> 
     3724<option value="55">55 - Meuse</option> 
     3725<option value="56">56 - Morbihan</option> 
     3726<option value="57">57 - Moselle</option> 
     3727<option value="58">58 - Nievre</option> 
     3728<option value="59">59 - Nord</option> 
     3729<option value="60">60 - Oise</option> 
     3730<option value="61">61 - Orne</option> 
     3731<option value="62">62 - Pas-de-Calais</option> 
     3732<option value="63">63 - Puy-de-Dome</option> 
     3733<option value="64">64 - Pyrenees-Atlantiques</option> 
     3734<option value="65">65 - Hautes-Pyrenees</option> 
     3735<option value="66">66 - Pyrenees-Orientales</option> 
     3736<option value="67">67 - Bas-Rhin</option> 
     3737<option value="68">68 - Haut-Rhin</option> 
     3738<option value="69">69 - Rhone</option> 
     3739<option value="70">70 - Haute-Saone</option> 
     3740<option value="71">71 - Saone-et-Loire</option> 
     3741<option value="72">72 - Sarthe</option> 
     3742<option value="73">73 - Savoie</option> 
     3743<option value="74">74 - Haute-Savoie</option> 
     3744<option value="75">75 - Paris</option> 
     3745<option value="76">76 - Seine-Maritime</option> 
     3746<option value="77">77 - Seine-et-Marne</option> 
     3747<option value="78">78 - Yvelines</option> 
     3748<option value="79">79 - Deux-Sevres</option> 
     3749<option value="80">80 - Somme</option> 
     3750<option value="81">81 - Tarn</option> 
     3751<option value="82">82 - Tarn-et-Garonne</option> 
     3752<option value="83">83 - Var</option> 
     3753<option value="84">84 - Vaucluse</option> 
     3754<option value="85">85 - Vendee</option> 
     3755<option value="86">86 - Vienne</option> 
     3756<option value="87">87 - Haute-Vienne</option> 
     3757<option value="88">88 - Vosges</option> 
     3758<option value="89">89 - Yonne</option> 
     3759<option value="90">90 - Territoire de Belfort</option> 
     3760<option value="91">91 - Essonne</option> 
     3761<option value="92">92 - Hauts-de-Seine</option> 
     3762<option value="93">93 - Seine-Saint-Denis</option> 
     3763<option value="94">94 - Val-de-Marne</option> 
     3764<option value="95">95 - Val-d&#39;Oise</option> 
     3765<option value="2A">2A - Corse du sud</option> 
     3766<option value="2B">2B - Haute Corse</option> 
     3767<option value="971">971 - Guadeloupe</option> 
     3768<option value="972">972 - Martinique</option> 
     3769<option value="973">973 - Guyane</option> 
     3770<option value="974">974 - La Reunion</option> 
     3771<option value="975">975 - Saint-Pierre-et-Miquelon</option> 
     3772<option value="976">976 - Mayotte</option> 
     3773<option value="984">984 - Terres Australes et Antarctiques</option> 
     3774<option value="986">986 - Wallis et Futuna</option> 
     3775<option value="987">987 - Polynesie Francaise</option> 
     3776<option value="988">988 - Nouvelle-Caledonie</option> 
     3777</select> 
     3778 
     3779# JPPostalCodeField ############################################################### 
     3780 
     3781A form field that validates its input is a Japanese postcode. 
     3782 
     3783Accepts 7 digits(with/out hyphen). 
     3784>>> from django.contrib.localflavor.jp.forms import JPPostalCodeField 
     3785>>> f = JPPostalCodeField() 
     3786>>> f.clean('251-0032') 
     3787u'2510032' 
     3788>>> f.clean('2510032') 
     3789u'2510032' 
     3790>>> f.clean('2510-032') 
     3791Traceback (most recent call last): 
     3792... 
     3793ValidationError: [u'Enter a postal code in the format XXXXXXX or XXX-XXXX.'] 
     3794>>> f.clean('251a0032') 
     3795Traceback (most recent call last): 
     3796... 
     3797ValidationError: [u'Enter a postal code in the format XXXXXXX or XXX-XXXX.'] 
     3798>>> f.clean('a51-0032') 
     3799Traceback (most recent call last): 
     3800... 
     3801ValidationError: [u'Enter a postal code in the format XXXXXXX or XXX-XXXX.'] 
     3802>>> f.clean('25100321') 
     3803Traceback (most recent call last): 
     3804... 
     3805ValidationError: [u'Enter a postal code in the format XXXXXXX or XXX-XXXX.'] 
     3806>>> f.clean('') 
     3807Traceback (most recent call last): 
     3808... 
     3809ValidationError: [u'This field is required.'] 
     3810 
     3811>>> f = JPPostalCodeField(required=False) 
     3812>>> f.clean('251-0032') 
     3813u'2510032' 
     3814>>> f.clean('2510032') 
     3815u'2510032' 
     3816>>> f.clean('2510-032') 
     3817Traceback (most recent call last): 
     3818... 
     3819ValidationError: [u'Enter a postal code in the format XXXXXXX or XXX-XXXX.'] 
     3820>>> f.clean('') 
     3821u'' 
     3822>>> f.clean(None) 
     3823u'' 
     3824 
     3825# JPPrefectureSelect ############################################################### 
     3826 
     3827A Select widget that uses a list of Japanese prefectures as its choices. 
     3828>>> from django.contrib.localflavor.jp.forms import JPPrefectureSelect 
     3829>>> w = JPPrefectureSelect() 
     3830>>> print w.render('prefecture', 'kanagawa') 
     3831<select name="prefecture"> 
     3832<option value="hokkaido">Hokkaido</option> 
     3833<option value="aomori">Aomori</option> 
     3834<option value="iwate">Iwate</option> 
     3835<option value="miyagi">Miyagi</option> 
     3836<option value="akita">Akita</option> 
     3837<option value="yamagata">Yamagata</option> 
     3838<option value="fukushima">Fukushima</option> 
     3839<option value="ibaraki">Ibaraki</option> 
     3840<option value="tochigi">Tochigi</option> 
     3841<option value="gunma">Gunma</option> 
     3842<option value="saitama">Saitama</option> 
     3843<option value="chiba">Chiba</option> 
     3844<option value="tokyo">Tokyo</option> 
     3845<option value="kanagawa" selected="selected">Kanagawa</option> 
     3846<option value="yamanashi">Yamanashi</option> 
     3847<option value="nagano">Nagano</option> 
     3848<option value="niigata">Niigata</option> 
     3849<option value="toyama">Toyama</option> 
     3850<option value="ishikawa">Ishikawa</option> 
     3851<option value="fukui">Fukui</option> 
     3852<option value="gifu">Gifu</option> 
     3853<option value="shizuoka">Shizuoka</option> 
     3854<option value="aichi">Aichi</option> 
     3855<option value="mie">Mie</option> 
     3856<option value="shiga">Shiga</option> 
     3857<option value="kyoto">Kyoto</option> 
     3858<option value="osaka">Osaka</option> 
     3859<option value="hyogo">Hyogo</option> 
     3860<option value="nara">Nara</option> 
     3861<option value="wakayama">Wakayama</option> 
     3862<option value="tottori">Tottori</option> 
     3863<option value="shimane">Shimane</option> 
     3864<option value="okayama">Okayama</option> 
     3865<option value="hiroshima">Hiroshima</option> 
     3866<option value="yamaguchi">Yamaguchi</option> 
     3867<option value="tokushima">Tokushima</option> 
     3868<option value="kagawa">Kagawa</option> 
     3869<option value="ehime">Ehime</option> 
     3870<option value="kochi">Kochi</option> 
     3871<option value="fukuoka">Fukuoka</option> 
     3872<option value="saga">Saga</option> 
     3873<option value="nagasaki">Nagasaki</option> 
     3874<option value="kumamoto">Kumamoto</option> 
     3875<option value="oita">Oita</option> 
     3876<option value="miyazaki">Miyazaki</option> 
     3877<option value="kagoshima">Kagoshima</option> 
     3878<option value="okinawa">Okinawa</option> 
     3879</select> 
     3880 
     3881# FIZipCodeField ############################################################# 
     3882 
     3883FIZipCodeField validates that the data is a valid FI zipcode. 
     3884>>> from django.contrib.localflavor.fi.forms import FIZipCodeField 
     3885>>> f = FIZipCodeField() 
     3886>>> f.clean('20540') 
     3887u'20540' 
     3888>>> f.clean('20101') 
     3889u'20101' 
     3890>>> f.clean('20s40') 
     3891Traceback (most recent call last): 
     3892... 
     3893ValidationError: [u'Enter a zip code in the format XXXXX.'] 
     3894>>> f.clean('205401') 
     3895Traceback (most recent call last): 
     3896... 
     3897ValidationError: [u'Enter a zip code in the format XXXXX.'] 
     3898>>> f.clean(None) 
     3899Traceback (most recent call last): 
     3900... 
     3901ValidationError: [u'This field is required.'] 
     3902>>> f.clean('') 
     3903Traceback (most recent call last): 
     3904... 
     3905ValidationError: [u'This field is required.'] 
     3906 
     3907>>> f = FIZipCodeField(required=False) 
     3908>>> f.clean('20540') 
     3909u'20540' 
     3910>>> f.clean('20101') 
     3911u'20101' 
     3912>>> f.clean('20s40') 
     3913Traceback (most recent call last): 
     3914... 
     3915ValidationError: [u'Enter a zip code in the format XXXXX.'] 
     3916>>> f.clean('205401') 
     3917Traceback (most recent call last): 
     3918... 
     3919ValidationError: [u'Enter a zip code in the format XXXXX.'] 
     3920>>> f.clean(None) 
     3921u'' 
     3922>>> f.clean('') 
     3923u'' 
     3924 
     3925# FIMunicipalitySelect ###############################################################  
     3926 
     3927A Select widget that uses a list of Finnish municipalities as its choices.  
     3928>>> from django.contrib.localflavor.fi.forms import FIMunicipalitySelect  
     3929>>> w = FIMunicipalitySelect()  
     3930>>> unicode(w.render('municipalities', 'turku')) 
     3931u'<select name="municipalities">\n<option value="akaa">Akaa</option>\n<option value="alaharma">Alah\xe4rm\xe4</option>\n<option value="alajarvi">Alaj\xe4rvi</option>\n<option value="alastaro">Alastaro</option>\n<option value="alavieska">Alavieska</option>\n<option value="alavus">Alavus</option>\n<option value="anjalankoski">Anjalankoski</option>\n<option value="artjarvi">Artj\xe4rvi</option>\n<option value="asikkala">Asikkala</option>\n<option value="askainen">Askainen</option>\n<option value="askola">Askola</option>\n<option value="aura">Aura</option>\n<option value="brando">Br\xe4nd\xf6</option>\n<option value="dragsfjard">Dragsfj\xe4rd</option>\n<option value="eckero">Ecker\xf6</option>\n<option value="elimaki">Elim\xe4ki</option>\n<option value="eno">Eno</option>\n<option value="enonkoski">Enonkoski</option>\n<option value="enontekio">Enonteki\xf6</option>\n<option value="espoo">Espoo</option>\n<option value="eura">Eura</option>\n<option value="eurajoki">Eurajoki</option>\n<option value="evijarvi">Evij\xe4rvi</option>\n<option value="finstrom">Finstr\xf6m</option>\n<option value="forssa">Forssa</option>\n<option value="foglo">F\xf6gl\xf6</option>\n<option value="geta">Geta</option>\n<option value="haapajarvi">Haapaj\xe4rvi</option>\n<option value="haapavesi">Haapavesi</option>\n<option value="hailuoto">Hailuoto</option>\n<option value="halikko">Halikko</option>\n<option value="halsua">Halsua</option>\n<option value="hamina">Hamina</option>\n<option value="hammarland">Hammarland</option>\n<option value="hankasalmi">Hankasalmi</option>\n<option value="hanko">Hanko</option>\n<option value="harjavalta">Harjavalta</option>\n<option value="hartola">Hartola</option>\n<option value="hattula">Hattula</option>\n<option value="hauho">Hauho</option>\n<option value="haukipudas">Haukipudas</option>\n<option value="hausjarvi">Hausj\xe4rvi</option>\n<option value="heinola">Heinola</option>\n<option value="heinavesi">Hein\xe4vesi</option>\n<option value="helsinki">Helsinki</option>\n<option value="himanka">Himanka</option>\n<option value="hirvensalmi">Hirvensalmi</option>\n<option value="hollola">Hollola</option>\n<option value="honkajoki">Honkajoki</option>\n<option value="houtskari">Houtskari</option>\n<option value="huittinen">Huittinen</option>\n<option value="humppila">Humppila</option>\n<option value="hyrynsalmi">Hyrynsalmi</option>\n<option value="hyvinkaa">Hyvink\xe4\xe4</option>\n<option value="hameenkoski">H\xe4meenkoski</option>\n<option value="hameenkyro">H\xe4meenkyr\xf6</option>\n<option value="hameenlinna">H\xe4meenlinna</option>\n<option value="ii">Ii</option>\n<option value="iisalmi">Iisalmi</option>\n<option value="iitti">Iitti</option>\n<option value="ikaalinen">Ikaalinen</option>\n<option value="ilmajoki">Ilmajoki</option>\n<option value="ilomantsi">Ilomantsi</option>\n<option value="imatra">Imatra</option>\n<option value="inari">Inari</option>\n<option value="inio">Ini\xf6</option>\n<option value="inkoo">Inkoo</option>\n<option value="isojoki">Isojoki</option>\n<option value="isokyro">Isokyr\xf6</option>\n<option value="jaala">Jaala</option>\n<option value="jalasjarvi">Jalasj\xe4rvi</option>\n<option value="janakkala">Janakkala</option>\n<option value="joensuu">Joensuu</option>\n<option value="jokioinen">Jokioinen</option>\n<option value="jomala">Jomala</option>\n<option value="joroinen">Joroinen</option>\n<option value="joutsa">Joutsa</option>\n<option value="joutseno">Joutseno</option>\n<option value="juankoski">Juankoski</option>\n<option value="jurva">Jurva</option>\n<option value="juuka">Juuka</option>\n<option value="juupajoki">Juupajoki</option>\n<option value="juva">Juva</option>\n<option value="jyvaskyla">Jyv\xe4skyl\xe4</option>\n<option value="jyvaskylan_mlk">Jyv\xe4skyl\xe4n maalaiskunta</option>\n<option value="jamijarvi">J\xe4mij\xe4rvi</option>\n<option value="jamsa">J\xe4ms\xe4</option>\n<option value="jamsankoski">J\xe4ms\xe4nkoski</option>\n<option value="jarvenpaa">J\xe4rvenp\xe4\xe4</option>\n<option value="kaarina">Kaarina</option>\n<option value="kaavi">Kaavi</option>\n<option value="kajaani">Kajaani</option>\n<option value="kalajoki">Kalajoki</option>\n<option value="kalvola">Kalvola</option>\n<option value="kangasala">Kangasala</option>\n<option value="kangasniemi">Kangasniemi</option>\n<option value="kankaanpaa">Kankaanp\xe4\xe4</option>\n<option value="kannonkoski">Kannonkoski</option>\n<option value="kannus">Kannus</option>\n<option value="karijoki">Karijoki</option>\n<option value="karjaa">Karjaa</option>\n<option value="karjalohja">Karjalohja</option>\n<option value="karkkila">Karkkila</option>\n<option value="karstula">Karstula</option>\n<option value="karttula">Karttula</option>\n<option value="karvia">Karvia</option>\n<option value="kaskinen">Kaskinen</option>\n<option value="kauhajoki">Kauhajoki</option>\n<option value="kauhava">Kauhava</option>\n<option value="kauniainen">Kauniainen</option>\n<option value="kaustinen">Kaustinen</option>\n<option value="keitele">Keitele</option>\n<option value="kemi">Kemi</option>\n<option value="kemijarvi">Kemij\xe4rvi</option>\n<option value="keminmaa">Keminmaa</option>\n<option value="kemio">Kemi\xf6</option>\n<option value="kempele">Kempele</option>\n<option value="kerava">Kerava</option>\n<option value="kerimaki">Kerim\xe4ki</option>\n<option value="kestila">Kestil\xe4</option>\n<option value="kesalahti">Kes\xe4lahti</option>\n<option value="keuruu">Keuruu</option>\n<option value="kihnio">Kihni\xf6</option>\n<option value="kiikala">Kiikala</option>\n<option value="kiikoinen">Kiikoinen</option>\n<option value="kiiminki">Kiiminki</option>\n<option value="kinnula">Kinnula</option>\n<option value="kirkkonummi">Kirkkonummi</option>\n<option value="kisko">Kisko</option>\n<option value="kitee">Kitee</option>\n<option value="kittila">Kittil\xe4</option>\n<option value="kiukainen">Kiukainen</option>\n<option value="kiuruvesi">Kiuruvesi</option>\n<option value="kivijarvi">Kivij\xe4rvi</option>\n<option value="kokemaki">Kokem\xe4ki</option>\n<option value="kokkola">Kokkola</option>\n<option value="kolari">Kolari</option>\n<option value="konnevesi">Konnevesi</option>\n<option value="kontiolahti">Kontiolahti</option>\n<option value="korpilahti">Korpilahti</option>\n<option value="korppoo">Korppoo</option>\n<option value="korsnas">Korsn\xe4s</option>\n<option value="kortesjarvi">Kortesj\xe4rvi</option>\n<option value="koskitl">KoskiTl</option>\n<option value="kotka">Kotka</option>\n<option value="kouvola">Kouvola</option>\n<option value="kristiinankaupunki">Kristiinankaupunki</option>\n<option value="kruunupyy">Kruunupyy</option>\n<option value="kuhmalahti">Kuhmalahti</option>\n<option value="kuhmo">Kuhmo</option>\n<option value="kuhmoinen">Kuhmoinen</option>\n<option value="kumlinge">Kumlinge</option>\n<option value="kuopio">Kuopio</option>\n<option value="kuortane">Kuortane</option>\n<option value="kurikka">Kurikka</option>\n<option value="kuru">Kuru</option>\n<option value="kustavi">Kustavi</option>\n<option value="kuusamo">Kuusamo</option>\n<option value="kuusankoski">Kuusankoski</option>\n<option value="kuusjoki">Kuusjoki</option>\n<option value="kylmakoski">Kylm\xe4koski</option>\n<option value="kyyjarvi">Kyyj\xe4rvi</option>\n<option value="kalvia">K\xe4lvi\xe4</option>\n<option value="karkola">K\xe4rk\xf6l\xe4</option>\n<option value="karsamaki">K\xe4rs\xe4m\xe4ki</option>\n<option value="kokar">K\xf6kar</option>\n<option value="koylio">K\xf6yli\xf6</option>\n<option value="lahti">Lahti</option>\n<option value="laihia">Laihia</option>\n<option value="laitila">Laitila</option>\n<option value="lammi">Lammi</option>\n<option value="lapinjarvi">Lapinj\xe4rvi</option>\n<option value="lapinlahti">Lapinlahti</option>\n<option value="lappajarvi">Lappaj\xe4rvi</option>\n<option value="lappeenranta">Lappeenranta</option>\n<option value="lappi">Lappi</option>\n<option value="lapua">Lapua</option>\n<option value="laukaa">Laukaa</option>\n<option value="lavia">Lavia</option>\n<option value="lehtimaki">Lehtim\xe4ki</option>\n<option value="leivonmaki">Leivonm\xe4ki</option>\n<option value="lemi">Lemi</option>\n<option value="lemland">Lemland</option>\n<option value="lempaala">Lemp\xe4\xe4l\xe4</option>\n<option value="lemu">Lemu</option>\n<option value="leppavirta">Lepp\xe4virta</option>\n<option value="lestijarvi">Lestij\xe4rvi</option>\n<option value="lieksa">Lieksa</option>\n<option value="lieto">Lieto</option>\n<option value="liljendal">Liljendal</option>\n<option value="liminka">Liminka</option>\n<option value="liperi">Liperi</option>\n<option value="lohja">Lohja</option>\n<option value="lohtaja">Lohtaja</option>\n<option value="loimaa">Loimaa</option>\n<option value="loppi">Loppi</option>\n<option value="loviisa">Loviisa</option>\n<option value="luhanka">Luhanka</option>\n<option value="lumijoki">Lumijoki</option>\n<option value="lumparland">Lumparland</option>\n<option value="luoto">Luoto</option>\n<option value="luumaki">Luum\xe4ki</option>\n<option value="luvia">Luvia</option>\n<option value="maalahti">Maalahti</option>\n<option value="maaninka">Maaninka</option>\n<option value="maarianhamina">Maarianhamina</option>\n<option value="marttila">Marttila</option>\n<option value="masku">Masku</option>\n<option value="mellila">Mellil\xe4</option>\n<option value="merijarvi">Merij\xe4rvi</option>\n<option value="merikarvia">Merikarvia</option>\n<option value="merimasku">Merimasku</option>\n<option value="miehikkala">Miehikk\xe4l\xe4</option>\n<option value="mikkeli">Mikkeli</option>\n<option value="mouhijarvi">Mouhij\xe4rvi</option>\n<option value="muhos">Muhos</option>\n<option value="multia">Multia</option>\n<option value="muonio">Muonio</option>\n<option value="mustasaari">Mustasaari</option>\n<option value="muurame">Muurame</option>\n<option value="muurla">Muurla</option>\n<option value="mynamaki">Myn\xe4m\xe4ki</option>\n<option value="myrskyla">Myrskyl\xe4</option>\n<option value="mantsala">M\xe4nts\xe4l\xe4</option>\n<option value="mantta">M\xe4ntt\xe4</option>\n<option value="mantyharju">M\xe4ntyharju</option>\n<option value="naantali">Naantali</option>\n<option value="nakkila">Nakkila</option>\n<option value="nastola">Nastola</option>\n<option value="nauvo">Nauvo</option>\n<option value="nilsia">Nilsi\xe4</option>\n<option value="nivala">Nivala</option>\n<option value="nokia">Nokia</option>\n<option value="noormarkku">Noormarkku</option>\n<option value="nousiainen">Nousiainen</option>\n<option value="nummi-pusula">Nummi-Pusula</option>\n<option value="nurmes">Nurmes</option>\n<option value="nurmijarvi">Nurmij\xe4rvi</option>\n<option value="nurmo">Nurmo</option>\n<option value="narpio">N\xe4rpi\xf6</option>\n<option value="oravainen">Oravainen</option>\n<option value="orimattila">Orimattila</option>\n<option value="oripaa">Orip\xe4\xe4</option>\n<option value="orivesi">Orivesi</option>\n<option value="oulainen">Oulainen</option>\n<option value="oulu">Oulu</option>\n<option value="oulunsalo">Oulunsalo</option>\n<option value="outokumpu">Outokumpu</option>\n<option value="padasjoki">Padasjoki</option>\n<option value="paimio">Paimio</option>\n<option value="paltamo">Paltamo</option>\n<option value="parainen">Parainen</option>\n<option value="parikkala">Parikkala</option>\n<option value="parkano">Parkano</option>\n<option value="pedersore">Peders\xf6re</option>\n<option value="pelkosenniemi">Pelkosenniemi</option>\n<option value="pello">Pello</option>\n<option value="perho">Perho</option>\n<option value="pernaja">Pernaja</option>\n<option value="pernio">Perni\xf6</option>\n<option value="pertteli">Pertteli</option>\n<option value="pertunmaa">Pertunmaa</option>\n<option value="petajavesi">Pet\xe4j\xe4vesi</option>\n<option value="pieksamaki">Pieks\xe4m\xe4ki</option>\n<option value="pielavesi">Pielavesi</option>\n<option value="pietarsaari">Pietarsaari</option>\n<option value="pihtipudas">Pihtipudas</option>\n<option value="piikkio">Piikki\xf6</option>\n<option value="piippola">Piippola</option>\n<option value="pirkkala">Pirkkala</option>\n<option value="pohja">Pohja</option>\n<option value="polvijarvi">Polvij\xe4rvi</option>\n<option value="pomarkku">Pomarkku</option>\n<option value="pori">Pori</option>\n<option value="pornainen">Pornainen</option>\n<option value="porvoo">Porvoo</option>\n<option value="posio">Posio</option>\n<option value="pudasjarvi">Pudasj\xe4rvi</option>\n<option value="pukkila">Pukkila</option>\n<option value="pulkkila">Pulkkila</option>\n<option value="punkaharju">Punkaharju</option>\n<option value="punkalaidun">Punkalaidun</option>\n<option value="puolanka">Puolanka</option>\n<option value="puumala">Puumala</option>\n<option value="pyhtaa">Pyht\xe4\xe4</option>\n<option value="pyhajoki">Pyh\xe4joki</option>\n<option value="pyhajarvi">Pyh\xe4j\xe4rvi</option>\n<option value="pyhanta">Pyh\xe4nt\xe4</option>\n<option value="pyharanta">Pyh\xe4ranta</option>\n<option value="pyhaselka">Pyh\xe4selk\xe4</option>\n<option value="pylkonmaki">Pylk\xf6nm\xe4ki</option>\n<option value="palkane">P\xe4lk\xe4ne</option>\n<option value="poytya">P\xf6yty\xe4</option>\n<option value="raahe">Raahe</option>\n<option value="raisio">Raisio</option>\n<option value="rantasalmi">Rantasalmi</option>\n<option value="rantsila">Rantsila</option>\n<option value="ranua">Ranua</option>\n<option value="rauma">Rauma</option>\n<option value="rautalampi">Rautalampi</option>\n<option value="rautavaara">Rautavaara</option>\n<option value="rautjarvi">Rautj\xe4rvi</option>\n<option value="reisjarvi">Reisj\xe4rvi</option>\n<option value="renko">Renko</option>\n<option value="riihimaki">Riihim\xe4ki</option>\n<option value="ristiina">Ristiina</option>\n<option value="ristijarvi">Ristij\xe4rvi</option>\n<option value="rovaniemi">Rovaniemi</option>\n<option value="ruokolahti">Ruokolahti</option>\n<option value="ruotsinpyhtaa">Ruotsinpyht\xe4\xe4</option>\n<option value="ruovesi">Ruovesi</option>\n<option value="rusko">Rusko</option>\n<option value="rymattyla">Rym\xe4ttyl\xe4</option>\n<option value="raakkyla">R\xe4\xe4kkyl\xe4</option>\n<option value="saarijarvi">Saarij\xe4rvi</option>\n<option value="salla">Salla</option>\n<option value="salo">Salo</option>\n<option value="saltvik">Saltvik</option>\n<option value="sammatti">Sammatti</option>\n<option value="sauvo">Sauvo</option>\n<option value="savitaipale">Savitaipale</option>\n<option value="savonlinna">Savonlinna</option>\n<option value="savonranta">Savonranta</option>\n<option value="savukoski">Savukoski</option>\n<option value="seinajoki">Sein\xe4joki</option>\n<option value="sievi">Sievi</option>\n<option value="siikainen">Siikainen</option>\n<option value="siikajoki">Siikajoki</option>\n<option value="siilinjarvi">Siilinj\xe4rvi</option>\n<option value="simo">Simo</option>\n<option value="sipoo">Sipoo</option>\n<option value="siuntio">Siuntio</option>\n<option value="sodankyla">Sodankyl\xe4</option>\n<option value="soini">Soini</option>\n<option value="somero">Somero</option>\n<option value="sonkajarvi">Sonkaj\xe4rvi</option>\n<option value="sotkamo">Sotkamo</option>\n<option value="sottunga">Sottunga</option>\n<option value="sulkava">Sulkava</option>\n<option value="sund">Sund</option>\n<option value="suomenniemi">Suomenniemi</option>\n<option value="suomusjarvi">Suomusj\xe4rvi</option>\n<option value="suomussalmi">Suomussalmi</option>\n<option value="suonenjoki">Suonenjoki</option>\n<option value="sysma">Sysm\xe4</option>\n<option value="sakyla">S\xe4kyl\xe4</option>\n<option value="sarkisalo">S\xe4rkisalo</option>\n<option value="taipalsaari">Taipalsaari</option>\n<option value="taivalkoski">Taivalkoski</option>\n<option value="taivassalo">Taivassalo</option>\n<option value="tammela">Tammela</option>\n<option value="tammisaari">Tammisaari</option>\n<option value="tampere">Tampere</option>\n<option value="tarvasjoki">Tarvasjoki</option>\n<option value="tervo">Tervo</option>\n<option value="tervola">Tervola</option>\n<option value="teuva">Teuva</option>\n<option value="tohmajarvi">Tohmaj\xe4rvi</option>\n<option value="toholampi">Toholampi</option>\n<option value="toivakka">Toivakka</option>\n<option value="tornio">Tornio</option>\n<option value="turku" selected="selected">Turku</option>\n<option value="tuulos">Tuulos</option>\n<option value="tuusniemi">Tuusniemi</option>\n<option value="tuusula">Tuusula</option>\n<option value="tyrnava">Tyrn\xe4v\xe4</option>\n<option value="toysa">T\xf6ys\xe4</option>\n<option value="ullava">Ullava</option>\n<option value="ulvila">Ulvila</option>\n<option value="urjala">Urjala</option>\n<option value="utajarvi">Utaj\xe4rvi</option>\n<option value="utsjoki">Utsjoki</option>\n<option value="uurainen">Uurainen</option>\n<option value="uusikaarlepyy">Uusikaarlepyy</option>\n<option value="uusikaupunki">Uusikaupunki</option>\n<option value="vaala">Vaala</option>\n<option value="vaasa">Vaasa</option>\n<option value="vahto">Vahto</option>\n<option value="valkeakoski">Valkeakoski</option>\n<option value="valkeala">Valkeala</option>\n<option value="valtimo">Valtimo</option>\n<option value="vammala">Vammala</option>\n<option value="vampula">Vampula</option>\n<option value="vantaa">Vantaa</option>\n<option value="varkaus">Varkaus</option>\n<option value="varpaisjarvi">Varpaisj\xe4rvi</option>\n<option value="vehmaa">Vehmaa</option>\n<option value="velkua">Velkua</option>\n<option value="vesanto">Vesanto</option>\n<option value="vesilahti">Vesilahti</option>\n<option value="veteli">Veteli</option>\n<option value="vierema">Vierem\xe4</option>\n<option value="vihanti">Vihanti</option>\n<option value="vihti">Vihti</option>\n<option value="viitasaari">Viitasaari</option>\n<option value="vilppula">Vilppula</option>\n<option value="vimpeli">Vimpeli</option>\n<option value="virolahti">Virolahti</option>\n<option value="virrat">Virrat</option>\n<option value="vardo">V\xe5rd\xf6</option>\n<option value="vahakyro">V\xe4h\xe4kyr\xf6</option>\n<option value="vastanfjard">V\xe4stanfj\xe4rd</option>\n<option value="voyri-maksamaa">V\xf6yri-Maksamaa</option>\n<option value="yliharma">Ylih\xe4rm\xe4</option>\n<option value="yli-ii">Yli-Ii</option>\n<option value="ylikiiminki">Ylikiiminki</option>\n<option value="ylistaro">Ylistaro</option>\n<option value="ylitornio">Ylitornio</option>\n<option value="ylivieska">Ylivieska</option>\n<option value="ylamaa">Yl\xe4maa</option>\n<option value="ylane">Yl\xe4ne</option>\n<option value="ylojarvi">Yl\xf6j\xe4rvi</option>\n<option value="ypaja">Yp\xe4j\xe4</option>\n<option value="aetsa">\xc4ets\xe4</option>\n<option value="ahtari">\xc4ht\xe4ri</option>\n<option value="aanekoski">\xc4\xe4nekoski</option>\n</select>' 
     3932 
     3933# FISocialSecurityNumber 
     3934############################################################## 
     3935 
     3936>>> from django.contrib.localflavor.fi.forms import FISocialSecurityNumber 
     3937>>> f = FISocialSecurityNumber() 
     3938>>> f.clean('010101-0101') 
     3939u'010101-0101' 
     3940>>> f.clean('010101+0101') 
     3941u'010101+0101' 
     3942>>> f.clean('010101A0101') 
     3943u'010101A0101' 
     3944>>> f.clean('101010-0102') 
     3945Traceback (most recent call last): 
     3946... 
     3947ValidationError: [u'Enter a valid Finnish social security number.'] 
     3948>>> f.clean('10a010-0101') 
     3949Traceback (most recent call last): 
     3950... 
     3951ValidationError: [u'Enter a valid Finnish social security number.'] 
     3952>>> f.clean('101010-0\xe401') 
     3953Traceback (most recent call last): 
     3954... 
     3955ValidationError: [u'Enter a valid Finnish social security number.'] 
     3956>>> f.clean('101010b0101') 
     3957Traceback (most recent call last): 
     3958... 
     3959ValidationError: [u'Enter a valid Finnish social security number.'] 
     3960>>> f.clean('') 
     3961Traceback (most recent call last): 
     3962... 
     3963ValidationError: [u'This field is required.'] 
     3964 
     3965>>> f.clean(None) 
     3966Traceback (most recent call last): 
     3967... 
     3968ValidationError: [u'This field is required.'] 
     3969>>> f = FISocialSecurityNumber(required=False) 
     3970>>> f.clean('010101-0101') 
     3971u'010101-0101' 
     3972>>> f.clean(None) 
     3973u'' 
     3974>>> f.clean('') 
     3975u'' 
     3976 
    35593977################################# 
    35603978# Tests of underlying functions # 
  • django/branches/full-history/tests/regressiontests/templates/tests.py

    r4732 r4869  
    150150            # Dictionary lookup wins out when there is a string and int version of the key. 
    151151            'list-index07': ("{{ var.1 }}", {"var": {'1': "hello", 1: "world"}}, "hello"), 
    152              
     152 
    153153            # Basic filter usage 
    154154            'basic-syntax21': ("{{ var|upper }}", {"var": "Django is the greatest!"}, "DJANGO IS THE GREATEST!"), 
     
    651651            'widthratio10': ('{% widthratio a b 100.0 %}', {'a':50,'b':100}, template.TemplateSyntaxError), 
    652652 
     653            ### WITH TAG ######################################################## 
     654            'with01': ('{% with dict.key as key %}{{ key }}{% endwith %}', {'dict': {'key':50}}, '50'), 
     655            'with02': ('{{ key }}{% with dict.key as key %}{{ key }}-{{ dict.key }}-{{ key }}{% endwith %}{{ key }}', {'dict': {'key':50}}, ('50-50-50', 'INVALID50-50-50INVALID')), 
     656 
    653657            ### NOW TAG ######################################################## 
    654658            # Simple case