a ze%@sdZddlZddlZddlmZddlmZzddlmZm Z m Z Wne ybdZZ Z Yn0Gdddej Z ed kredS) z Test script for the Unicode implementation. Written by Bill Tutt. Modified for Python 2.0 by Fredrik Lundh (fredrik@pythonware.com) (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. N)support) HTTPException)INT_MAXPY_SSIZE_T_MAXUINT_MAXlc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZejeeekdejeddd d!d"d#Zd$S)%UnicodeNamesTestcCstd|}||||S)Nz"\N{%s}")eval assertEqual)selfnamecoderesrA/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_ucn.py checkletters  zUnicodeNamesTest.checklettercs6gd}d}dfddt||D|dS)N)zLATIN CAPITAL LETTER TLATIN SMALL LETTER HLATIN SMALL LETTER ESPACEzLATIN SMALL LETTER RzLATIN CAPITAL LETTER EzLATIN SMALL LETTER DrzLATIN SMALL LETTER fzLATIN CAPITAL LeTtEr ozLATIN SMaLl LETTER xrzLATIN SMALL LETTER ALATIN SMALL LETTER TrrrrrZSpAcEzLATIN SMALL LETTER SrLATIN small LETTER erzLATIN SMALL LETTER Pz FULL STOPzThe rEd fOx ate the sheep.csg|]}j|qSrr).0argsr rr @z1UnicodeNamesTest.test_general..)r joinzip)r charsstringrrr test_generals zUnicodeNamesTest.test_generalcCsPdttttdtdD],}d|}t|}|t ||qdS)NrazzLATIN SMALL LETTER %s) rmapchrrangeordupper unicodedatalookupr r )r charr r rrrtest_ascii_lettersDs"  z#UnicodeNamesTest.test_ascii_letterscCs|dd|dd|dd|dd|d d |d d |d d|dd|dd|dd|dd|dd|dd|ttjddS)NzHANGUL SYLLABLE GAu가zHANGUL SYLLABLE GGWEOSSu꿨zHANGUL SYLLABLE DOLSu돐zHANGUL SYLLABLE RYANu랸zHANGUL SYLLABLE MWIKu뮠zHANGUL SYLLABLE BBWAEMu뾈zHANGUL SYLLABLE SSEOLu썰zHANGUL SYLLABLE YIu의zHANGUL SYLLABLE JJYOSSu쭀zHANGUL SYLLABLE KYEOLSu켨zHANGUL SYLLABLE PANu판zHANGUL SYLLABLE HWEOKu훸zHANGUL SYLLABLE HIHu힣u힤)r assertRaises ValueErrorr)r rrrrtest_hangul_syllablesJs             z&UnicodeNamesTest.test_hangul_syllablescCs|dd|dd|dd|dd|d d |d d |d d|dd|dd|dd|dddS)NzCJK UNIFIED IDEOGRAPH-3400u㐀zCJK UNIFIED IDEOGRAPH-4DB5u䶵zCJK UNIFIED IDEOGRAPH-4E00u一zCJK UNIFIED IDEOGRAPH-9FCBu鿋zCJK UNIFIED IDEOGRAPH-20000u𠀀zCJK UNIFIED IDEOGRAPH-2A6D6u𪛖zCJK UNIFIED IDEOGRAPH-2A700u𪜀zCJK UNIFIED IDEOGRAPH-2B734u𫜴zCJK UNIFIED IDEOGRAPH-2B740u𫝀zCJK UNIFIED IDEOGRAPH-2B81Du𫠝zCJK UNIFIED IDEOGRAPH-3134Au𱍊rrrrrtest_cjk_unified_ideographs[s          z,UnicodeNamesTest.test_cjk_unified_ideographscCs@tdD]2}t|}t|d}|dur|t||qdS)Ni)r&r%r)r r r*)r r r+r rrrtest_bmp_charactershs   z$UnicodeNamesTest.test_bmp_characterscCs4|dd|dd|dd|dddS) Nz PILCROW SIGN¶zREPLACEMENT CHARACTERu�z)HALFWIDTH KATAKANA SEMI-VOICED SOUND MARKu゚zFULLWIDTH LATIN SMALL LETTER Auarrrrrtest_misc_symbolsos   z"UnicodeNamesTest.test_misc_symbolsc Csgd}|D]\}}||t|tt|}||||t|t||ttj |Wdq 1s0Yq dS)N) )zLATIN CAPITAL LETTER GHAi)zLATIN SMALL LETTER GHAi)zKANNADA LETTER LLLAi )zLAO LETTER FO FONi)zLAO LETTER FO FAYi)z LAO LETTER ROi)z LAO LETTER LOi)z#TIBETAN MARK BKA- SHOG GI MGO RGYANi)zYI SYLLABLE ITERATION MARKi)z=PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKETi)z4BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASISi) rr%r)r ZassertNotEqualr r*r-KeyError ucd_3_2_0)r aliasesaliasZ codepointr rrr test_aliasesus    zUnicodeNamesTest.test_aliasesc Cs^tddD]N}|t}tt|Wdn1s<0Y|t|jdq dS)Ni no such name r&r-r.r)r r%r str exceptionr cpcmrrrtest_aliases_names_in_pua_ranges ,z0UnicodeNamesTest.test_aliases_names_in_pua_rangec Cs^tddD]N}|t}tt|Wdn1s<0Y|t|jdq dS)Nr9ir:r;r>rrr'test_named_sequences_names_in_pua_ranges ,z8UnicodeNamesTest.test_named_sequences_names_in_pua_rangec Csgd}|D]\}}|t|||t||dWdn1sR0Y|ttj|Wdq 1s0Yq dS)N))zLATIN SMALL LETTER R WITH TILDEur̃)zTAMIL SYLLABLE SAIuஸை)zTAMIL SYLLABLE MOOuமோ)zTAMIL SYLLABLE NNOOuணோ)zTAMIL CONSONANT KSSu க்ஷ்)r r)r*r- SyntaxErrorrr4r5)r sequencesseqname codepointsrrrtest_named_sequences_samples  * z,UnicodeNamesTest.test_named_sequences_samplec Cs$dd}dtj}ztj|d|d}Wn$ttfyJ|d|Yn0||j|D]}| }|r\| drxq\| d\}}d d d | D}| t|||t||dWdn1s0Y|ttj|Wdq\1s0Yq\dS) NcSs|}tj|vS)N)readliner)unidata_version)ZtestfileZhdrrrr check_versionszAUnicodeNamesTest.test_named_sequences_full..check_versionz7http://www.pythontest.net/unicode/%s/NamedSequences.txtzutf-8)encodingcheckzCould not retrieve #;rcss|]}tt|dVqdS)N)r%int)rr?rrr rz=UnicodeNamesTest.test_named_sequences_full..)r)rIrZopen_urlresourceOSErrorrZskipTestZ addCleanupclosestrip startswithsplitrr r*r-rCrr4r5)r rJurlZtestdatalinerErFrrrtest_named_sequences_fulls,   * z*UnicodeNamesTest.test_named_sequences_fullcCs@|ttj|ttjd|ttj|ttjddS)Nxxunknown)r- TypeErrorr)r r*r4rrrr test_errorsszUnicodeNamesTest.test_errorscCsZ|ttddd|tttdddddd|ttddd|ttd dddS) Ns\N{blah}unicode-escapestrictz\N{%s}xiascii\N{SPACEs\NSPACE)r- UnicodeErrorr<bytesrrrrtest_strict_error_handlings z+UnicodeNamesTest.test_strict_error_handlingzneeds UINT_MAX < SIZE_MAXF)sizeZmemusedry_runcCsFddtdd}|t|tdtd|td|jddS)Nrbxrf}s \N{SPACE}zunknown Unicode character namer^)rr lenZassertRaisesRegexrcdecode)r rhr`rrrtest_issue16335s z UnicodeNamesTest.test_issue16335N)__name__ __module__ __qualname__rr!r,r/r0r1r3r8rArBrGrYr]rerZ cpython_onlyunittestZ skipUnlessrrZ bigmemtestrrnrrrrrs$% r__main__)__doc__rrr)testrZ http.clientrZ _testcapirrr ImportErrorZTestCaserromainrrrrs    [