a zeS@s ddlmZmZmZmZmZmZzddlmZmZm Z Wne yNdZ Yn0ddl Z ddl Z ddl Z ddlmZejdkrddejdD\ZZZeeefd kre d gd ad d ZdddddZe jdkred=Gddde jZedkre dS)) setlocaleLC_ALLLC_CTYPE LC_NUMERIC localeconvError) RADIXCHARTHOUSEP nl_langinfoN)unameZDarwincCsg|] }t|qS)int).0partr r E/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test__locale.py r.)rrz%locale support broken for OS X < 10.4)KZes_UYfr_FRfi_FIes_COpt_PTit_ITet_EEes_PYZno_NOnl_NLlv_LVel_GRbe_BYfr_BEro_ROZru_UAru_RUes_VEca_ESse_NOes_ECid_IDka_GEes_CLZwa_BEhu_HUlt_LTsl_SIhr_HRes_ARes_ESoc_FRgl_ESbg_BGis_ISmk_MKde_ATpt_BRda_DKnn_NOcs_CZde_LUes_BOsq_ALsk_SKfr_CHde_DEZsr_YUbr_FRnl_BEsv_FIpl_PLfr_CAfo_FObs_BAfr_LUkl_GLfa_IRZde_BEsv_SEit_CHuk_UAeu_ESvi_VNaf_ZAnb_NOZen_DKtg_TJps_AFen_USzfr_FR.ISO8859-1z fr_FR.UTF-8zfr_FR.ISO8859-15@euroz ru_RU.KOI8-Rz ko_KR.eucKRc stjdkrttj}zg}tD]}zttj|WntyLYq Yn0td}z tWn<t y}z$t d||t ||fWYd}~q d}~00| |q |aWttj|nttj|0dtj vrddfddtDadS) NZsunos5Fz.WARNING: Skip locale %s (encoding %s): [%s] %sz MSC v.1200cSs(|d}t|dko$t|ddk S)Nr )splitlen)locar r raccept:s zsetUpModule..acceptcsg|]}|r|qSr r )rrYr[r rr=rzsetUpModule..)sysplatformlocalerrcandidate_localesrgetpreferredencodingr Exceptionprinttypeappendversion)Z old_localeZlocalesrYencodingerrr r\r setUpModules,         ri)r,)rjr)rj)u٫u٬)rSr?rrRwin32rRc@s`eZdZddZddZdZddZee dd d Z d d Z ee dd dZ ddZ dS) _LocaleTestscCstt|_dSNrrZ oldlocaleselfr r rsetUpQsz_LocaleTests.setUpcCstt|jdSrnrorpr r rtearDownTsz_LocaleTests.tearDownz)%s != %s (%s for %s; set to %s, using %s)c Cshz tt}Wnty"d}Yn0t|d|dk}|rd|rd||||j||||||fdSdS)N)rkrk thousands_sepT)rrrknown_numericsget assertEquallc_numeric_err_msg)rqZ calc_typeZ calc_valueZ data_typeZ used_locale set_localeZ known_valuer r rnumeric_tester\s$   z_LocaleTests.numeric_testerznl_langinfo is not availablec Csd}tD]f}ztt|tt|Wnty:YqYn0tdftdffD] \}}|dt|||rLd}qLq|s~| ddS)NF decimal_pointrur Tno suitable locales) r`rrrrrr r{r skipTest)rqtestedrYlilcr r rtest_lc_numeric_nl_langinfols    z(_LocaleTests.test_lc_numeric_nl_langinfoc Csxd}tD]\}ztt|tt|Wnty:YqYn0t}dD]}|d||||rFd}qFq|st|ddS)NF)r|rurTr})r`rrrrrr{r~)rqrrYZ formattingrr r rtest_lc_numeric_localeconv}s   z'_LocaleTests.test_lc_numeric_localeconvc Csd}tD]}ztt|tt|Wnty:YqYn0tdftdffD]\\}}t|}t|}z tt}Wntyd}Yn0| ||d||||fd}qLq|s| ddS)NFr|rurtz9%s (nl_langinfo) != %s (localeconv) (set to %s, using %s)Tr}) r`rrrrrr r rrxr~)rqrrYrrZ nl_radixcharZ li_radixcharrzr r rtest_lc_numeric_basics4        z"_LocaleTests.test_lc_numeric_basicc Csd}tD]}ztt|tt|Wnty:YqYn0|dkrTtddkrTq|ttdddd||tt dddd |tdd kr| t t td d d gd }q|s| ddS)NFrMr|z' z3.14di:z using eval('3.14') failed for %sz!using float('3.14') failed for %sr1Z23Tr})r`rrrrrrxr evalfloatZ assertRaises ValueErrorjoinr~)rqrrYr r rtest_float_parsings,   z_LocaleTests.test_float_parsingN)__name__ __module__ __qualname__rrrsryr{unittestZ skipUnlessr rrrrr r r rrmOs    rm__main__)_localerrrrrrrr r ImportErrorr_r]rr^r systemreleaserWZmajminZmicZSkipTestr`rirvZTestCasermrmainr r r rs0       & u