(\.SrSSKrSSKJr SSKrSSKrSSKrSSKJrJ r J r J r J r J r "SS\R5r"SS\R5r"S S \5r"S S \5r"S S\R5r\S:Xa\R*"5 gg)zTests for the unicodedata module. Written by Marc-Andre Lemburg (mal@lemburg.com). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. N) HTTPException)open_urlresourcerequires_resource script_helper cpython_onlycheck_disallow_instantiationforce_not_colorizedc4\rSrSrSr\"S5S5rSrg)UnicodeMethodsTest(63aa77dcb36b0e1df082ee2a6071caeda7f0955ecpuc[R"5n[[RS-5GHn[ U5nSUR 5SUR5SUR5SUR5SUR5SUR5SUR5SUR5SUR5SUS-R 5SUS-R5SUS-R5SUS-R5SUS-R5SUS-R5SUS-R5SUS-R5SUS-R5UR5UR!5UR#5US-R5US-R!5US-R#5US-R#5/nUR%SR'U5R)SS 55 GM UR+5nUR-XPR.5 g) N01abc123z ABCutf-8 surrogatepass)hashlibsha1rangesys maxunicodechrisalnumisalpha isdecimalisdigitislower isnumericisspaceistitleisupperloweruppertitleupdatejoinencode hexdigest assertEqualexpectedchecksum)selfhichardataresults unicodedatadbr?r:r9r6rArAIs Br9rAc\rSrSrSr\"S5S5r\"S5S5rSrSr Sr S r S r S r S rS rSrSrSrSrSrSrSrSrSrg)UnicodeFunctionsTestL(232affd2a50ec4bd69d2482aa0291385cbdefabarc/n[R"5n[[RS-5GHsn[ U5n[ URRUS5S5[ URRUS5S5[ URRUS5S5URRU5URRU5URRU5[URRU55[URR!U55["R$"U5URR'US5/ nUR)SR+U5R-S55 GMv UR/5nUR1XPR25 g)Nrz.12grascii)rrrrrrformatrDdigitnumericdecimalcategory bidirectional decompositionstrmirrored combiningrCeast_asian_widthnamer*r+r,r-r.r/)r0r4r1r2r3r5s r6test_function_checksum+UnicodeFunctionsTest.test_function_checksumRsM LLNs~~)*Aq6Dtww}}T2.7twwtR0&9twwtR0&9  &%%d+%%d+DGG$$T*+DGG%%d+,,,T2 T2& D HHRWWT]))'2 3+  !6!67r9c[[RS-5H^n[U5nURR US5=n(dM3UR URRU5U5 M` g)Nr)rrrrrDrWr.lookup)r0r2r3 looked_names r6test_name_inverse_lookup-UnicodeFunctionsTest.test_name_inverse_lookupjsZs~~)*Aq6D"ggll466{6   ! )),7> )TWW%5%56 )TWW%5%5t 0031 2044 0034ru)r.rDrRr`rwrxs r6test_decomposition'UnicodeFunctionsTest.test_decompositionsw ..x8< ..x8:UV )TWW%:%:; )TWW%:%:DAr9cURURRS5S5 URURRS5S5 URURRS5S5 URURRS5S5 UR[URR5 UR[URRS5 g)Nrrru∁rrsru)r.rDrTr`rwrxs r6 test_mirrored"UnicodeFunctionsTest.test_mirroreds ))(3Q7 ))#.2 ))(3Q7 )),7; )TWW%5%56 )TWW%5%5tC̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸C̸Çrr)r0rbs r6test_issue10254$UnicodeFunctionsTest.test_issue10254s- ' $ **5!4a8r9c$SnSnSnSnSnSnURURRSU5U5 URURRSU5U5 URURRSU5U5 g)Nu ᄀᅶᆨu 기ᆧu기ᆧu 기ᇃu기ᇃrr)r0 u1176_str_a u1176_str_b u11a7_str_a u11a7_str_b u11c3_str_a u11c3_str_bs r6test_issue29456$UnicodeFunctionsTest.test_issue29456s* * * $ * $  **5+> L **5+> L **5+> Lr9cHURRnUR[US5 UR[U[ 55 UR[US5 UR[US5 UR U"S5S5 UR U"S5S5 UR U"S5S 5 UR U"S 5S 5 UR U"S 5S 5 UR U"S5S5 UR U"S5S 5 g)NarraNrNau좔WuヲHu?Fu‐rnrs)rDrVr`rw bytearrayr.)r0eaws r6test_east_asian_width*UnicodeFunctionsTest.test_east_asian_widthsgg&& )S$/ )S)+6 )S"- )S$/ Vc* Vd+ X, X, X, X, \*C0r9cURRnSHGnURU"U5S5 URURR US5S5 MI SHGnURU"U5S5 URURR US5S5 MI SHGnURU"U5S5 URURR US5S5 MI g)Nu԰໏჆⃼꫊𐞽𑗲ru﩮﫚𪛠𯨠𱍋𿿽ru󰀀󿿮􀀀􏿰rn)rDrVr.assertIsrW)r0rr3s r6 test_east_asian_width_unassigned5UnicodeFunctionsTest.test_east_asian_width_unassignedsgg&&HD   SY , MM$'',,tT2D 9I KD   SY , MM$'',,tT2D 9K KD   SY , MM$'',,tT2D 9Kr9cURURRRS5S5 URURRS5S5 g)Nu⌚rr)r.rD ucd_3_2_0rVrxs r6!test_east_asian_width_9_0_changes6UnicodeFunctionsTest.test_east_asian_width_9_0_changessF **;;HEsK 11(;SAr9r:N)r;r<r=r>r/rrXr]rcrjryr}rrrrrrrrrrrrr?r:r9r6rFrFLsBu88.uDD > E : < <=BB=> C9 M 1:"Br9rFct\rSrSr\S5r\S5rSrSr Sr Sr \ "S5S 5r S rS rS rg )UnicodeMiscTestic8[U[R5 gN)rrCUCDrxs r6test_disallow_instantiation+UnicodeMiscTest.test_disallow_instantiations %T;??;r9cSn[R"SU5nSnURX2RR S55 g)NzGimport sys;sys.modules['unicodedata'] = None;eval("'\\N{SOFT HYPHEN}'")z-czUSyntaxError: (unicode error) \N escapes not supported (can't load unicodedata module)rK)rassert_python_failureassertInerrdecode)r0coder5errors r6#test_failed_import_during_compiling3UnicodeMiscTest.test_failed_import_during_compilings?/ 44T4@. eZZ..w78r9cSn[S5Han[U5nURRUS5nUS:wdM2UR X@RR U55 US- nMc UR US:5 gNrrJr )rrrDrOr.rN assertTruer0countr2cdecs r6test_decimal_numeric_consistent/UnicodeMiscTest.test_decimal_numeric_consistent/sqwAAA''//!R(Cby  ggooa&89    $r9cSn[S5Han[U5nURRUS5nUS:wdM2UR X@RR U55 US- nMc UR US:5 gr)rrrDrMr.rNrrs r6test_digit_numeric_consistent-UnicodeMiscTest.test_digit_numeric_consistent<sqwAAA''--2&Cby  ggooa&89    $r9cZURURRS5S5 g)NzGOTHIC LETTER FAIHUu𐍆)r.rDr[rxs r6test_bug_1704793 UnicodeMiscTest.test_bug_1704793Is  (=> Mr9cxSSKnURUR"S55 URURRS5(+5 URSR 5S:H5 URSR 5S:H5 URSR 5S:H5 g)Nru༺rrnᵹuꝽ.)rCrrTrr()r0rCs r6 test_ucd_510UnicodeMiscTest.test_ucd_510Ls  ,,X67 K11::8DDE  S() ((23  S()r9rc pURSR5S5 UR[[RS-5Vs/sHXnS[ U5R5[ U5R 5-[ U5R5-;dMVUPMZ snS/5 gs snf)Nrrr)r.r'rrrrr(r))r0rs r6 test_bug_5828UnicodeMiscTest.test_bug_5828Ws )84  !12 2aSV\\^CFLLN:3q6<<>II2 C   s AB3#B3cURSR5S5 URSR5S5 URSR5S5 g)NuDŽuDžudž)r.r)rxs r6 test_bug_4971UnicodeMiscTest.test_bug_4971csG )84 )84 )84r9c[S5Hen[U5S-R5nUS;a!UR[ U5SSU-5 MFUR[ U5SSU-5 Mg g)Nrrn) r i( i) z\u%.4x should be a linebreakrz \u%.4x should not be a linebreak)rr splitlinesr.len)r0r2liness r6test_linebreak_7643#UnicodeMiscTest.test_linebreak_7643isswAVc\--/E77  UQ!@1!DF  UQ!Dq!HJ r9r:N)r;r<r=r>rrr rrrrrrrrrr?r:r9r6rrsa<<99 % %N *u    5 Jr9rcx\rSrSr\S5r\S5r\"S5\"S5S55rSr Sr S r S r g ) NormalizationTestitcHUR5n[RU;$r)readlinerCunidata_version)testfilehdrs r6 check_versionNormalizationTest.check_versionus!!**c11r9cURS5Vs/sHn[US5PM nnSRUVs/sHn[U5PM sn5$s snfs snf)Nrr)splitintr+r)r4rvs r6unistrNormalizationTest.unistrzsN$(JJsO4OqAr O4ww-1A-..5-s AAnetworkrcbSnS[RSU3n[USURS9nW URU5 SSS5 g![a UR SUS35 N>[ [4a!nUR SUS U35 SnANiSnAff=f!,(df  g=f) NzNormalizationTest.txtz"http://www.pythontest.net/unicode//r)encodingcheckz"Permission error when downloading z into the test data directoryzFailed to download z: ) rCrrr PermissionErrorskipTestOSErrorrrun_normalization_tests)r0 TESTDATAFILE TESTDATAURLtestdataexcs r6test_normalization$NormalizationTest.test_normalizations/ :;;V;V:WWXYeXfg  F' g.2.@.@BH  ( ( 2X  ; MM>{mL9: ;' F MM/ }BseD E E FXs(A B  B-B<BB B.cSn0nSnSnSnSnUGHBnSU;aURS5SnUR5nU(dM7URS5(aUR5SnMbURS5SS V s/sHoRU 5PM sn uppnUR X"U 5s=:H=(a U"U 5s=:H=(a U"U 5:HOs U5 UR X"U 5s=:H=(a U"U5:HOs U5 UR X"U 5s=:H=(a U"U 5s=:H=(a U"U 5:HOs U5 UR X"U 5s=:H=(a U"U5:HOs U5 UR X"U 5s=:H=(aD U"U 5s=:H=(a1 U"U 5s=:H=(a U"U 5s=:H=(a U"U5:HOs U5 UR X"U 5s=:H=(aD U"U 5s=:H=(a1 U"U 5s=:H=(a U"U 5s=:H=(a U"U5:HOs U5 UR [ R "S U 55 UR [ R "S U 55 UR [ R "S U 55 UR [ R "S U55 UR [ R "S U 55 UR [ R "S U55 US:XdGM>SX:'GME [[RS-5Hmn[U5nUU;aMUR UU"U5s=:H=(a1 U"U5s=:H=(a U"U5s=:H=(a U"U5:HOs U5 Mo gs sn f)Nc0[R"SU5$)NrrCrrSs r6r6NormalizationTest.run_normalization_tests..NFC((4 4r9c0[R"SU5$)NNFKCr"r#s r6r'7NormalizationTest.run_normalization_tests..NFKC((5 5r9c0[R"SU5$)NNFDr"r#s r6r+6NormalizationTest.run_normalization_tests..NFDr%r9c0[R"SU5$)NNFKDr"r#s r6r.7NormalizationTest.run_normalization_tests..NFKDr)r9#rz@Part;rJrr+r'r.z@Part1r) r strip startswithrrrC is_normalizedrrrr)r0rpart part1_datarr'r+r.linervc1c2c3c4c5rXs r6r)NormalizationTest.run_normalization_testss'  5 6 5 6Dd{zz#q):: staticmethodr rrrrrArDr?r:r9r6rrts`22//y!u3"3"9Lv@ 5r9r__main__)__doc__r http.clientrrrCunittest test.supportrrrrrr TestCaser rArFrrr;mainr:r9r6rNs% /8**/8b(++IB.IBV[J)[Jz`5))`5F z MMOr9