a zeK_@sddlmZmZmZddlZddlZddlZddlZGdddejZ GdddejZ Gddde Z Gd d d e Z Gd d d e Z Gd ddeZGdddeZGdddejZGdddejZGddde eZGddde eZGddde eZGddde eZGdddejZGdd d e eZGd!d"d"ejZGd#d$d$ejZGd%d&d&e ZGd'd(d(e eZGd)d*d*e eZGd+d,d,e eZed-kre dS).)verbose is_androidcheck_warningsNc@s eZdZeddZddZdS)BaseLocalizedTestc Cstjdkr>ddl}d}t|jdddkrTtdntj drPd}nd }zrt t j }|D]4}zt t j |Wnt j yYqfYn0qqftd d |||_Wt t j |nt t j |0dS) Ndarwinr) en_US.UTF-8en_US.ISO8859-1en_US. z#Locale support on MacOSX is minimalwin)ZEnZEnglish)rren_US.US-ASCIIr z$Test locale not supported (tried %s)z, )sysplatformosintunamereleasesplitunittestSkipTest startswithlocale setlocale LC_NUMERICErrorjoin enUS_locale)clsrZtlocs oldlocaleZtlocr D/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_locale.py setUpClass s*     zBaseLocalizedTest.setUpClasscCsJt|j}|tj|j|t|j|jtrFtd|jddddS)Nztesting with %r... Tendflush)rr locale_type addCleanuprrprint)selfrr r r!setUp+s  zBaseLocalizedTest.setUpN)__name__ __module__ __qualname__ classmethodr"r+r r r r!rs rc@seZdZddZddZdS)BaseCookedTestcCs |jt_dSN) cooked_valuesr_override_localeconvr*r r r!r+8szBaseCookedTest.setUpcCs it_dSr1)rr3r4r r r!tearDown;szBaseCookedTest.tearDownN)r,r-r.r+r5r r r r!r03sr0c@s6eZdZdddgdddgdddddddddddZdS) CCookedTestr currency_symbol decimal_point frac_digitsgroupingint_curr_symbolint_frac_digitsmon_decimal_point mon_groupingmon_thousands_sep n_cs_precedesn_sep_by_space n_sign_posn negative_sign p_cs_precedesp_sep_by_space p_sign_posn positive_sign thousands_sepNr,r-r.r2r r r r!r6>s&r6c@s>eZdZdddgddddgdddddd dddd dd Zd S) EnUSCookedTest$r rQrzUSD ,r-r7r9NrLr r r r!rMVs&rMc@s>eZdZdddgddddgdddddd dddd dd Zd S) FrFRCookedTest€rRrOrPzEUR r#rrSrTr7r9NrLr r r r!rUos&rUc@s,eZdZddZddZddZddZd S) BaseFormattingTestcKs||||fi||dSr1) assertEqual)r*formatvalueoutfunc format_optsr r r!_test_formatfuncsz#BaseFormattingTest._test_formatfunccKsLtdtf,|j|||fdtji|Wdn1s>0YdS)Nr7r\)rDeprecationWarningr^rrYr*rYrZr[r]r r r! _test_formats zBaseFormattingTest._test_formatcKs |j|||fdtji|dS)Nr\)r^r format_stringr`r r r!_test_format_strings z&BaseFormattingTest._test_format_stringcKs|tj|fi||dSr1)rXrcurrency)r*rZr[r]r r r!_test_currencysz!BaseFormattingTest._test_currencyN)r,r-r.r^rarcrer r r r!rWsrWc@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS)EnUSNumberFormattingcCstd|_dS)NrK)r localeconvsepr4r r r!r+szEnUSNumberFormatting.setUpcCsR|jdddd|jd|jddddd|jdddd d|jd ddd ddS) N%frSz 1%s024.000000r=r[f 102.000000 -42.000000%+frarhr4r r r! test_groupingsz"EnUSNumberFormatting.test_groupingcCs^|jdddddd|jrZ|jdddd |jd d|jd ddd |jd ddS) N%20.frnrS-42rk%+10.f-4%s200r %-10.f)rarjustrhljustr4r r r!test_grouping_and_paddings  z.EnUSNumberFormatting.test_grouping_and_paddingcCsL|jdddd|jd|jdddd|jd|jdddd |jddS) N%dhT4%s200rkz%+dz+4%s200rwrxrqr4r r r!test_integer_groupingsz*EnUSNumberFormatting.test_integer_groupingcCs@|jdddd|jdd|jdddd |jdddS) N%10dr~Trr rk%-10drwrx)rarhrzr{r4r r r!!test_integer_grouping_and_paddings   z6EnUSNumberFormatting.test_integer_grouping_and_paddingcCsL|jddddd|jddddd|jdddd d|jd ddd ddS) Nrirjrz 1024.000000rkrlrmrnrorprar4r r r! test_simplesz EnUSNumberFormatting.test_simplecCsL|jdddddd|jdddd d d|jd d dd d ddS)Nrsrnrrtrurkrvrwz-4200r ryr~Z4200rarzr{r4r r r! test_paddingsz!EnUSNumberFormatting.test_paddingcCs>|t tjddddWdn1s00YdS)Nryr~Tr=)Z assertWarnsr_rrYr4r r r!test_format_deprecations z,EnUSNumberFormatting.test_format_deprecationcCs|jdddd|j|jfd|jdddd|j|jfd|jdd d d |jrt|jd d ddd|jdd|jdddddd|jr|jdddd|jdd|jr|jdddd|j|jfddS)NzOne million is %ii@BrSzOne million is 1%s000%s000rkzOne million is %izOne million is 1%s000%s000z.%f.@@z .1000.000000.r[z --> %10.2fr~z--> z 4%s200.00r z%10.*f)rOrz1000.00z%*.*f)r rOrz 1%s000.00zint %i float %.2f str %s)rrstrz"int 1%s000 float 1%s000.00 str str)rcrhrzr4r r r!test_complex_formattings2      z,EnUSNumberFormatting.test_complex_formattingN) r,r-r.r+rrr|rrrrrrr r r r!rfsrfc@seZdZddZdS)TestFormatPatternArgcCstdtf|ttjdd|ttjdd|ttjdd|ttjdd|ttjdd|ttjdd|ttjd dWdn1s0YdS) Nr7z%f fooz%f z%f z %fz%fgz%^g%f%%)rr_ assertRaises ValueErrorrrYr4r r r!test_onlyOnePatternsz(TestFormatPatternArg.test_onlyOnePatternN)r,r-r.rr r r r!rsrc@s eZdZdZddZddZdS)TestLocaleFormatStringz%General tests on locale.format_stringcCsT|tdddd|tdddd|tdddidddidS)Nr?z%d %f%%d)rSrz %(foo)s %%drbarrXrrbr4r r r!test_percent_escapes z*TestLocaleFormatString.test_percent_escapecCsD|tdddidddi|tdddidddidS)Nz %(foo)s bing.rrz%(foo)srr4r r r! test_mappings   z#TestLocaleFormatString.test_mappingN)r,r-r.__doc__rrr r r r!rsrc@seZdZejZddZdS)TestNumberFormattingcCst|t|dSr1)rr+rfr4r r r!r+s zTestNumberFormatting.setUpN)r,r-r.rrr'r+r r r r!r src@seZdZddZddZdS)TestEnUSNumberFormattingcCst|t|dSr1)rMr+rfr4r r r!r+s zTestEnUSNumberFormatting.setUpcCs2|dd|jdddd|jddddddS)NPz $50000.00z $50,000.00Trz USD 50,000.00r= internationalrer4r r r! test_currencys  z&TestEnUSNumberFormatting.test_currencyN)r,r-r.r+rr r r r!rsrc@seZdZddZddZdS)TestCNumberFormattingcCs|jddddddS)N%.2f)\@Tz12345.67rkrr4r r r!rr$sz#TestCNumberFormatting.test_groupingcCs|jddddddS)N%9.2frTz 12345.67rkrr4r r r!r|'sz/TestCNumberFormatting.test_grouping_and_paddingN)r,r-r.rrr|r r r r!r!src@s<eZdZddZddZddZddZd d Zd d Zd S)TestFrFRNumberFormattingcCs|jdddddS)Nrrz12345,67rrr4r r r!test_decimal_point.sz+TestFrFRNumberFormatting.test_decimal_pointcCs(|jddddd|jddddddS)NrQu@T345,67rkr 12 345,67rr4r r r!rr1sz&TestFrFRNumberFormatting.test_groupingcCs|jddddd|jddddd|jdd dd d|jd d dd d|jd d dd d|jddddd|jddddd|jdd dd d|jdd dd d|jdd ddddS)Nz%6.2frTrrkz%7.2fz 345,67z%8.2frrrz%10.2fz 12 345,67z%-6.2fz%-7.2fz345,67 z%-8.2fz%-9.2fz%-10.2fz 12 345,67 rr4r r r!r|5sz2TestFrFRNumberFormatting.test_grouping_and_paddingcCs(|jddddd|jddddddS)Nr}TZ200rkr~4 200rr4r r r!rAsz.TestFrFRNumberFormatting.test_integer_groupingcCs||jddddd|jddddd|jdddddd|jd dddd|jd dddd|jd ddddddS) Nz%4dr~Trrkz%5drr z%-4dz%-5drrr4r r r!rEs z:TestFrFRNumberFormatting.test_integer_grouping_and_paddingcCs>d}|dd||jdd|dd|jddddddS) NrVrz 50000,00 z 50 000,00 Trz 50 000,00 EURrr)r*euror r r!rMs z&TestFrFRNumberFormatting.test_currencyN) r,r-r.rrrr|rrrr r r r!r+s  rc@seZdZddZddZdS) TestCollationcCsd|tddd|tddd|tddd|ttjdd|ttjdddS)Nabra) assertLessrstrcollrXZ assertGreaterrrr4r r r! test_strcollXs zTestCollation.test_strcollcCs,|tdtd|ttjddS)Nrrr)rrstrxfrmrrr4r r r! test_strxfrm`szTestCollation.test_strxfrmN)r,r-r.rrr r r r!rUsrc@sReZdZejZddZee j ddddZ ee j ddddZ d S) TestEnUSCollationcCsbttdpdj}|dvr(td|dkrTtjdksJt sJtj drTtdt |dS) NFascii)zutf-8 iso8859-1cp1252zencoding not suitablerrZfreebsdzwcscoll/wcsxfrm have known bugs) codecslookuprgetpreferredencodingnamerrrrrrrr+r*encr r r!r+ks   zTestEnUSCollation.setUpZaixzbpo-29972: broken test on AIXcCs|tddddS)Nàrr)rrrr4r r r!test_strcoll_with_diacritictsz-TestEnUSCollation.test_strcoll_with_diacriticcCs|tdtddS)Nrr)rrrr4r r r!test_strxfrm_with_diacriticysz-TestEnUSCollation.test_strxfrm_with_diacriticN)r,r-r.rLC_ALLr'r+rZskipIfrrrrrr r r r!rfs  rc@sleZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZdS) NormalizeTestcCs|jt|||ddS)N)msg)rXr normalize)r* localenameZexpectedr r r!checkszNormalizeTest.checkc CsTtjD]D\}}|j||fd|||Wdq 1sD0Yq dS)N)r)r locale_aliasitemsZsubTestr)r*raliasr r r!test_locale_aliasszNormalizeTest.test_locale_aliascCs|dddS)Nr7rr4r r r! test_emptyszNormalizeTest.test_emptycCs|dd|dddS)NcCposixrr4r r r!test_cs zNormalizeTest.test_ccCs|dd|dd|dd|dd|dd|dd|d d |d d |d d |dd|d d|d d|dd|dd|dddS)NenrZENz en.iso88591r en_usen_GBzen_GB.ISO8859-1rz en_US.utf8z en_US:UTF-8r z en_US.88591z en_US.885915en_US.ISO8859-15englishzen_EN.ISO8859-1zenglish_uk.asciirr4r r r! test_englishs              zNormalizeTest.test_englishcCs|dd|dd|dd|dd|dd|dd|dd|dd |d d |d d |d d |d d|dddS)Nzaz_AZ.iso88599ezaz_AZ.ISO8859-9Ez tt_RU.koi8cz tt_RU.KOI8-Cz lo_LA.cp1133zlo_LA.IBM-CP1133zlo_LA.ibmcp1133zuk_ua.microsoftcp1251z uk_UA.CP1251zuk_ua.microsoft-cp1251zka_ge.georgianacademyzka_GE.GEORGIAN-ACADEMYzcs_CZ.iso88592zcs_CZ.ISO8859-2rr4r r r!test_hyphenated_encodings            z&NormalizeTest.test_hyphenated_encodingcCs(|dd|dd|dddS)Nz de_DE@eurozde_DE.ISO8859-15zen_US.ISO8859-15@eurorzde_DE.utf8@euroz de_DE.UTF-8rr4r r r!test_euro_modifiers  z NormalizeTest.test_euro_modifiercCs(|dd|dd|dddS)Nzbe_BY.UTF-8@latinzsr_RS.UTF-8@latinzsr_RS.UTF-8@latnrr4r r r!test_latin_modifiers  z!NormalizeTest.test_latin_modifiercCs(|dd|dd|dddS)Nzca_ES.UTF-8@valenciazca_ES@valenciaz ca@valenciazca_ES.ISO8859-1@valenciarr4r r r!test_valencia_modifiers  z$NormalizeTest.test_valencia_modifiercCs|dd|dd|dd|dd|dd|dd|dd|dd|d d|d d |d d |d d dS) Nzks_IN.UTF-8@devanagarizks_IN@devanagariz ks@devanagariz ks_IN.UTF-8Zks_INkszsd_IN.UTF-8@devanagarizsd_IN@devanagariz sd@devanagariz sd_IN.UTF-8Zsd_INsdrr4r r r!test_devanagari_modifiers           z&NormalizeTest.test_devanagari_modifiercCsX|dd|dd|dd|dd|dd|d d |d d dS) N ja_jp.euc ja_JP.eucJP ja_jp.eucjpz ko_kr.eucz ko_KR.eucKRz ko_kr.euckrz zh_cn.eucz zh_CN.eucCNz zh_tw.eucz zh_TW.eucTWz zh_tw.euctwrr4r r r!test_euc_encodings      zNormalizeTest.test_euc_encodingcCs |dd|dd|dd|dd|dd|d d|d d|d d|d d|d d|dd|dd|dd|dd|dd|dd|dd|dd|dd|dd|dd|dddS)Njarzja.jisz ja_JP.JIS7zja.sjisz ja_JP.SJISja_jpz ja_jp.ajecrrzja_jp.iso-2022-jpzja_jp.iso2022jpz ja_jp.jisz ja_jp.jis7z ja_jp.mscodez ja_jp.pckz ja_jp.sjisz ja_jp.ujisz ja_jp.utf8z ja_JP.UTF-8japanjapanesez japanese-eucz japanese.eucz japanese.sjisjp_jprr4r r r! test_japaneses,                     zNormalizeTest.test_japaneseN)r,r-r.rrrrrrrrrrrrr r r r!rs rc@sDeZdZddZddZddZddZd d Zd d Zd dZ dS)TestMiscellaneousc Csddl}ddl}|tddt|dr8|j}|`nd}i}z~dD]$}||jvrF|j|||<|j|=qFd|jd<|tdW|D]}|||j|<qd|vr|jd=|dur||_n8|D]}|||j|<qd|vr|jd=|dur||_0dS)NrUTF-8)Nr_getdefaultlocale)rLC_CTYPELANGLANGUAGEr) _localerrXr_parse_localenamehasattrrenvirongetdefaultlocale)r*rrZorig_getlocaleZorig_envkeykr r r!test_defaults_UTF8s6    z$TestMiscellaneous.test_defaults_UTF8cCst}|rt|dSr1)rrrrrr r r!test_getpreferredencodingsz+TestMiscellaneous.test_getpreferredencodingcCs(|ttjdd|ttjdddS)Nra)r TypeErrorrrr4r r r!test_strcoll_3303sz#TestMiscellaneous.test_strcoll_3303cCs^ttjttjttjttjttjttj|tj tjddS)Ni90) rrrLC_TIMEr LC_COLLATE LC_MONETARYrrrr4r r r!test_setlocale_categorys      z)TestMiscellaneous.test_setlocale_categoryc Csttj}|tjtj|zttjdWntjyN|dYn0ttj}trttd|fdddzttj|Wn<tjy}z"|d|d|WYd}~n d}~00| |ttjdS) Ntr_TRztest needs Turkish localeztesting with %ar#Tr$zsetlocale(LC_CTYPE, z ) failed: ) rrrr(rZskipTest getlocalerr)rX)r*rlocexcr r r!test_getsetlocale_issue1813*s  ,z-TestMiscellaneous.test_getsetlocale_issue1813cCs<|tttjdWdn1s.0YdS)Nsfi_FIrrrrrr4r r r!)test_invalid_locale_format_in_localetuple?s z;TestMiscellaneous.test_invalid_locale_format_in_localetuplecCs<|tttjdWdn1s.0YdS)N)snotsvalidrr4r r r!$test_invalid_iterable_in_localetupleCs z6TestMiscellaneous.test_invalid_iterable_in_localetupleN) r,r-r.rrrrrrr r r r r!rs$ rc@s$eZdZddZddZddZdS)BaseDelocalizeTestcCs|t||dSr1)rXr delocalizer*rZr[r r r!_test_delocalizeJsz#BaseDelocalizeTest._test_delocalizecCs|t||dSr1)rXratofr r r r! _test_atofMszBaseDelocalizeTest._test_atofcCs|t||dSr1)rXratoir r r r! _test_atoiPszBaseDelocalizeTest._test_atoiN)r,r-r.r rrr r r r!r Hsr c@s$eZdZddZddZddZdS)TestEnUSDelocalizecCs|dd|dddS)N50000.00 50,000.00r r4r r r!test_delocalizeVs z"TestEnUSDelocalize.test_delocalizecCs|dd|dddS)Nrj@rrr4r r r! test_atofZs zTestEnUSDelocalize.test_atofcCs|dd|dddS)N50000rz50,000rr4r r r! test_atoi^s zTestEnUSDelocalize.test_atoiNr,r-r.rrrr r r r!rTsrc@s$eZdZddZddZddZdS)TestCDelocalizeTestcCs|dddS)Nrrr4r r r!resz#TestCDelocalizeTest.test_delocalizecCs|dddS)Nrrrr4r r r!rhszTestCDelocalizeTest.test_atofcCs|dddS)Nrrrr4r r r!rkszTestCDelocalizeTest.test_atoiNrr r r r!rcsrc@s$eZdZddZddZddZdS)TestfrFRDelocalizeTestcCs|dd|dddS)N50000,00r 50 000,00rr4r r r!rqs z&TestfrFRDelocalizeTest.test_delocalizecCs|dd|dddS)Nr rr!rr4r r r!rus z TestfrFRDelocalizeTest.test_atofcCs|dd|dddS)Nrrz50 000rr4r r r!rys z TestfrFRDelocalizeTest.test_atoiNrr r r r!rosr__main__)!Z test.supportrrrrrrrZTestCaserr0r6rMrUobjectrWrfrrrrrrrrrrr rrrr,mainr r r r!s6+ I  *oZ