a
    äzeK_  ã                   @   s¸  d dl mZmZmZ d dlZd dlZd dlZd dlZG dd„ dejƒZ	G dd„ dejƒZ
G dd„ de
ƒZG d	d
„ d
e
ƒZG dd„ de
ƒZG dd„ deƒZG dd„ deƒZG dd„ dejƒZG dd„ dejƒZG dd„ de	eƒZG dd„ deeƒZG dd„ deeƒZG dd„ deeƒZG dd„ dejƒZG dd „ d e	eƒZG d!d"„ d"ejƒZG d#d$„ d$ejƒZG d%d&„ d&e	ƒZG d'd(„ d(eeƒZG d)d*„ d*eeƒZG d+d,„ d,eeƒZed-kr´e  ¡  dS ).é    )ÚverboseÚ
is_androidÚcheck_warningsNc                   @   s    e Zd Zedd„ ƒZdd„ ZdS )ÚBaseLocalizedTestc              
   C   sÜ   t jdkr>dd l}d}t| ¡ j d¡d ƒdk rTt d¡‚nt j 	d¡rPd}nd	}zrt
 t
j¡}|D ]4}zt
 t
j|¡ W n t
jy”   Y qfY n0  q°qft d
d |¡ ¡‚|| _W t
 t
j|¡ nt
 t
j|¡ 0 d S )NÚdarwinr   )úen_US.UTF-8úen_US.ISO8859-1Úen_USÚ.é
   z#Locale support on MacOSX is minimalÚwin)ZEnZEnglish)r   r   úen_US.US-ASCIIr	   z$Test locale not supported (tried %s)z, )ÚsysÚplatformÚosÚintÚunameÚreleaseÚsplitÚunittestÚSkipTestÚ
startswithÚlocaleÚ	setlocaleÚ
LC_NUMERICÚErrorÚjoinÚenUS_locale)Úclsr   ZtlocsÚ	oldlocaleZtloc© r    ú&/usr/lib/python3.9/test/test_locale.pyÚ
setUpClass   s*    

ÿzBaseLocalizedTest.setUpClassc                 C   sJ   t  | j¡}|  t j| j|¡ t  | j| j¡ trFtd| j ddd d S )Nztesting with %r...ú T©ÚendÚflush)r   r   Úlocale_typeÚ
addCleanupr   r   Úprint)Úselfr   r    r    r!   ÚsetUp+   s
    zBaseLocalizedTest.setUpN)Ú__name__Ú
__module__Ú__qualname__Úclassmethodr"   r+   r    r    r    r!   r      s   
r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚBaseCookedTestc                 C   s   | j t_d S ©N)Úcooked_valuesr   Ú_override_localeconv©r*   r    r    r!   r+   8   s    zBaseCookedTest.setUpc                 C   s
   i t _d S r1   )r   r3   r4   r    r    r!   ÚtearDown;   s    zBaseCookedTest.tearDownN)r,   r-   r.   r+   r5   r    r    r    r!   r0   3   s   r0   c                   @   s6   e Zd Zdddg dddg dddddddddddœZdS )ÚCCookedTestÚ r
   é   ©Úcurrency_symbolÚdecimal_pointÚfrac_digitsÚgroupingÚint_curr_symbolÚint_frac_digitsÚmon_decimal_pointÚmon_groupingÚmon_thousands_sepÚn_cs_precedesÚn_sep_by_spaceÚn_sign_posnÚnegative_signÚp_cs_precedesÚp_sep_by_spaceÚp_sign_posnÚpositive_signÚthousands_sepN©r,   r-   r.   r2   r    r    r    r!   r6   >   s&   îr6   c                   @   s>   e Zd Zdddg d¢dddg d¢ddddd	dddd
ddœZdS )ÚEnUSCookedTestú$r
   é   ©é   rQ   r   zUSD ú,é   r   ú-r7   r9   NrL   r    r    r    r!   rM   V   s&   îrM   c                   @   s>   e Zd Zdddg d¢dddg d¢ddddd	dddd
ddœZdS )ÚFrFRCookedTestõ   â‚¬rR   rO   rP   zEUR r#   r   rS   rT   r7   r9   NrL   r    r    r    r!   rU   o   s&   îrU   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚBaseFormattingTestc                 K   s   |   |||fi |¤Ž|¡ d S r1   )ÚassertEqual)r*   ÚformatÚvalueÚoutÚfuncÚformat_optsr    r    r!   Ú_test_formatfuncŽ   s    ÿz#BaseFormattingTest._test_formatfuncc                 K   sL   t dtfƒ, | j|||fdtji|¤Ž W d   ƒ n1 s>0    Y  d S )Nr7   r\   )r   ÚDeprecationWarningr^   r   rY   ©r*   rY   rZ   r[   r]   r    r    r!   Ú_test_format’   s    ÿÿzBaseFormattingTest._test_formatc                 K   s    | j |||fdtji|¤Ž d S )Nr\   )r^   r   Úformat_stringr`   r    r    r!   Ú_test_format_string—   s
    ÿÿz&BaseFormattingTest._test_format_stringc                 K   s   |   tj|fi |¤Ž|¡ d S r1   )rX   r   Úcurrency)r*   rZ   r[   r]   r    r    r!   Ú_test_currency›   s    z!BaseFormattingTest._test_currencyN)r,   r-   r.   r^   ra   rc   re   r    r    r    r!   rW   ‰   s   rW   c                   @   sT   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ ZdS )ÚEnUSNumberFormattingc                 C   s   t  ¡ d | _d S )NrK   )r   Ú
localeconvÚsepr4   r    r    r!   r+   £   s    zEnUSNumberFormatting.setUpc                 C   sR   | j dddd| j d | j ddddd | j dddd	d | j d
ddd	d d S )Nú%fé   rS   z1%s024.000000©r=   r[   éf   ú
102.000000éÖÿÿÿú
-42.000000ú%+f©ra   rh   r4   r    r    r!   Útest_grouping¦   s    z"EnUSNumberFormatting.test_groupingc                 C   s^   | j dddd d¡d | jrZ| j dddd	| j  d
¡d | j dddd	| j  d
¡d d S )Nú%20.frn   rS   ú-42é   rk   ú%+10.fé˜ïÿÿú-4%s200r   ú%-10.f)ra   Úrjustrh   Úljustr4   r    r    r!   Útest_grouping_and_padding¬   s    
ÿ
ÿz.EnUSNumberFormatting.test_grouping_and_paddingc                 C   sL   | j dddd| j d | j dddd| j d | j dddd	| j d d S )
Nú%déh  Tú4%s200rk   z%+dz+4%s200rw   rx   rq   r4   r    r    r!   Útest_integer_grouping´   s    z*EnUSNumberFormatting.test_integer_groupingc                 C   s@   | j dddd| j  d¡d | j dddd	| j  d¡d d S )
Nú%10dr~   Tr   r   rk   ú%-10drw   rx   )ra   rh   rz   r{   r4   r    r    r!   Ú!test_integer_grouping_and_padding¹   s    
ÿ
ÿz6EnUSNumberFormatting.test_integer_grouping_and_paddingc                 C   sL   | j ddddd | j ddddd | j dddd	d | j d
ddd	d d S )Nri   rj   r   z1024.000000rk   rl   rm   rn   ro   rp   ©ra   r4   r    r    r!   Útest_simple¿   s    z EnUSNumberFormatting.test_simplec                 C   sL   | j dddd d¡d | j dddd	 d
¡d | j dddd d
¡d d S )Nrs   rn   r   rt   ru   rk   rv   rw   z-4200r   ry   r~   Z4200©ra   rz   r{   r4   r    r    r!   Útest_paddingÅ   s    z!EnUSNumberFormatting.test_paddingc                 C   s>   |   t¡  tjdddd W d   ƒ n1 s00    Y  d S )Nry   r~   T©r=   )ZassertWarnsr_   r   rY   r4   r    r    r!   Útest_format_deprecationÊ   s    z,EnUSNumberFormatting.test_format_deprecationc                 C   sØ   | j dddd| j| jf d | j dddd| j| jf d | j dd	d
d | jrt| j ddddd| j  d¡ d | j dddd d¡d | jr°| j dddd| j  d¡d | jrÔ| j dddd| j| jf d d S )NzOne million is %ii@B rS   zOne million is 1%s000%s000rk   zOne  million is %izOne  million is 1%s000%s000z.%f.ç     @@z.1000.000000.©r[   z-->  %10.2fr~   z-->  z	4%s200.00r   z%10.*f)rO   éè  r   z1000.00z%*.*f)r   rO   rŒ   z	1%s000.00zint %i float %.2f str %s)rŒ   rŠ   Ústrz"int 1%s000 float 1%s000.00 str str)rc   rh   rz   r4   r    r    r!   Útest_complex_formattingÎ   s2    
ÿ
ÿ
ÿ
ÿ
ÿ
ÿþz,EnUSNumberFormatting.test_complex_formattingN)r,   r-   r.   r+   rr   r|   r€   rƒ   r…   r‡   r‰   rŽ   r    r    r    r!   rf   Ÿ   s   rf   c                   @   s   e Zd Zdd„ ZdS )ÚTestFormatPatternArgc                 C   s®   t dtfƒŽ |  ttjdd¡ |  ttjdd¡ |  ttjdd¡ |  ttjdd¡ |  ttjdd¡ |  ttjdd¡ |  ttjd	d¡ W d   ƒ n1 s 0    Y  d S )
Nr7   z%f
Úfooz%fz%f
z %fz%fgz%^gú%f%%)r   r_   ÚassertRaisesÚ
ValueErrorr   rY   r4   r    r    r!   Útest_onlyOnePatternë   s    z(TestFormatPatternArg.test_onlyOnePatternN)r,   r-   r.   r”   r    r    r    r!   r   è   s   r   c                   @   s    e Zd ZdZdd„ Zdd„ ZdS )ÚTestLocaleFormatStringz%General tests on locale.format_stringc                 C   sT   |   t dd¡dd ¡ |   t dd¡dd ¡ |   t dddi¡dddi ¡ d S )Nr‘   ç      ð?z%d %f%%d)rS   r–   z%(foo)s %%dr   Úbar©rX   r   rb   r4   r    r    r!   Útest_percent_escapeú   s    ÿ
ÿz*TestLocaleFormatString.test_percent_escapec                 C   sD   |   t dddi¡dddi ¡ |   t dddi¡dddi ¡ d S )Nz%(foo)s bing.r   r—   z%(foo)sr˜   r4   r    r    r!   Útest_mapping  s    
ÿ
ÿz#TestLocaleFormatString.test_mappingN)r,   r-   r.   Ú__doc__r™   rš   r    r    r    r!   r•   ÷   s   r•   c                   @   s   e Zd ZejZdd„ ZdS )ÚTestNumberFormattingc                 C   s   t  | ¡ t | ¡ d S r1   )r   r+   rf   r4   r    r    r!   r+     s    
zTestNumberFormatting.setUpN)r,   r-   r.   r   r   r'   r+   r    r    r    r!   rœ   	  s   rœ   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestEnUSNumberFormattingc                 C   s   t  | ¡ t | ¡ d S r1   )rM   r+   rf   r4   r    r    r!   r+     s    
zTestEnUSNumberFormatting.setUpc                 C   s2   |   dd¡ | j dddd | j ddddd d S )NéPÃ  z	$50000.00z
$50,000.00Trˆ   zUSD 50,000.00©r=   Úinternational©re   r4   r    r    r!   Útest_currency  s
    ÿz&TestEnUSNumberFormatting.test_currencyN)r,   r-   r.   r+   r¢   r    r    r    r!   r     s   r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestCNumberFormattingc                 C   s   | j ddddd d S )Nú%.2fç)\ÂÕÈ@Tz12345.67rk   r„   r4   r    r    r!   rr   $  s    z#TestCNumberFormatting.test_groupingc                 C   s   | j ddddd d S )Nú%9.2fr¥   Tz	 12345.67rk   r„   r4   r    r    r!   r|   '  s    z/TestCNumberFormatting.test_grouping_and_paddingN)r,   r-   r.   rr   r|   r    r    r    r!   r£   !  s   r£   c                   @   s<   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚTestFrFRNumberFormattingc                 C   s   | j dddd d S )Nr¤   r¥   z12345,67r‹   r„   r4   r    r    r!   Útest_decimal_point.  s    z+TestFrFRNumberFormatting.test_decimal_pointc                 C   s(   | j ddddd | j ddddd d S )Nr¤   ç…ëQ¸šu@Tú345,67rk   r¥   ú	12 345,67r„   r4   r    r    r!   rr   1  s    z&TestFrFRNumberFormatting.test_groupingc                 C   s¸   | j ddddd | j ddddd | j dd	dd
d | j dd	dd
d | j dd	ddd | j ddddd | j ddddd | j dd	dd
d | j dd	dd
d | j dd	ddd d S )Nz%6.2fr©   Trª   rk   z%7.2fz 345,67z%8.2fr¥   r«   r¦   z%10.2fz
 12 345,67z%-6.2fz%-7.2fz345,67 z%-8.2fz%-9.2fz%-10.2fz
12 345,67 r„   r4   r    r    r!   r|   5  s    z2TestFrFRNumberFormatting.test_grouping_and_paddingc                 C   s(   | j ddddd | j ddddd d S )Nr}   éÈ   TZ200rk   r~   ú4 200r„   r4   r    r    r!   r€   A  s    z.TestFrFRNumberFormatting.test_integer_groupingc                 C   s|   | j ddddd | j ddddd | j dddd d¡d | j d	dddd | j d
dddd | j dddd d¡d d S )Nz%4dr~   Tr­   rk   z%5dr   r   z%-4dz%-5dr‚   r†   r4   r    r    r!   rƒ   E  s    z:TestFrFRNumberFormatting.test_integer_grouping_and_paddingc                 C   s>   d}|   dd| ¡ | j dd| dd | j ddddd d S )	NrV   rž   z	50000,00 z
50 000,00 Trˆ   z50 000,00 EURrŸ   r¡   )r*   Úeuror    r    r!   r¢   M  s    ÿz&TestFrFRNumberFormatting.test_currencyN)	r,   r-   r.   r¨   rr   r|   r€   rƒ   r¢   r    r    r    r!   r§   +  s   r§   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestCollationc                 C   sd   |   t dd¡d¡ |  t dd¡d¡ |  t dd¡d¡ |  ttjdd¡ |  ttjdd¡ d S )NÚaÚbr   úa )Ú
assertLessr   ÚstrcollrX   ZassertGreaterr’   r“   r4   r    r    r!   Útest_strcollX  s
    zTestCollation.test_strcollc                 C   s,   |   t d¡t d¡¡ |  ttjd¡ d S )Nr°   r±   r²   )r³   r   Ústrxfrmr’   r“   r4   r    r    r!   Útest_strxfrm`  s    zTestCollation.test_strxfrmN)r,   r-   r.   rµ   r·   r    r    r    r!   r¯   U  s   r¯   c                   @   sR   e Zd ZejZdd„ Ze e	j
 d¡d¡dd„ ƒZe e	j
 d¡d¡dd„ ƒZd	S )
ÚTestEnUSCollationc                 C   sb   t  t d¡pd¡j}|dvr(t d¡‚|dkrTtjdksJt	sJtj 
d¡rTt d¡‚t | ¡ d S )	NFÚascii)zutf-8ú	iso8859-1Úcp1252zencoding not suitablerº   r   Zfreebsdzwcscoll/wcsxfrm have known bugs)ÚcodecsÚlookupr   ÚgetpreferredencodingÚnamer   r   r   r   r   r   r   r+   ©r*   Úencr    r    r!   r+   k  s    

ÿ
zTestEnUSCollation.setUpZaixzbpo-29972: broken test on AIXc                 C   s   |   t dd¡d¡ d S )Nõ   Ã r±   r   )r³   r   r´   r4   r    r    r!   Útest_strcoll_with_diacritict  s    z-TestEnUSCollation.test_strcoll_with_diacriticc                 C   s   |   t d¡t d¡¡ d S )NrÂ   r±   )r³   r   r¶   r4   r    r    r!   Útest_strxfrm_with_diacriticy  s    z-TestEnUSCollation.test_strxfrm_with_diacriticN)r,   r-   r.   r   ÚLC_ALLr'   r+   r   ZskipIfr   r   r   rÃ   rÄ   r    r    r    r!   r¸   f  s   	ÿ
ÿr¸   c                   @   sl   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ ZdS )ÚNormalizeTestc                 C   s   | j t |¡||d d S )N)Úmsg)rX   r   Ú	normalize)r*   Ú
localenameZexpectedr    r    r!   Úcheck€  s    zNormalizeTest.checkc              	   C   sT   t j ¡ D ]D\}}| j||fd |  ||¡ W d   ƒ q
1 sD0    Y  q
d S )N)r   )r   Úlocale_aliasÚitemsZsubTestrÊ   )r*   rÉ   Úaliasr    r    r!   Útest_locale_aliasƒ  s    zNormalizeTest.test_locale_aliasc                 C   s   |   dd¡ d S )Nr7   ©rÊ   r4   r    r    r!   Ú
test_emptyˆ  s    zNormalizeTest.test_emptyc                 C   s   |   dd¡ |   dd¡ d S )NÚcÚCÚposixrÏ   r4   r    r    r!   Útest_c‹  s    zNormalizeTest.test_cc                 C   s¸   |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   d	d	¡ |   d
d	¡ |   dd	¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ d S )NÚenr   ZENzen.iso88591r	   Úen_usÚen_GBzen_GB.ISO8859-1r   z
en_US.utf8zen_US:UTF-8r   zen_US.88591zen_US.885915úen_US.ISO8859-15Úenglishzen_EN.ISO8859-1zenglish_uk.asciirÏ   r4   r    r    r!   Útest_english  s    zNormalizeTest.test_englishc                 C   s    |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd	¡ |   d
d	¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ d S )Nzaz_AZ.iso88599ezaz_AZ.ISO8859-9Eztt_RU.koi8cztt_RU.KOI8-Czlo_LA.cp1133zlo_LA.IBM-CP1133zlo_LA.ibmcp1133zuk_ua.microsoftcp1251zuk_UA.CP1251zuk_ua.microsoft-cp1251zka_ge.georgianacademyzka_GE.GEORGIAN-ACADEMYzcs_CZ.iso88592zcs_CZ.ISO8859-2rÏ   r4   r    r    r!   Útest_hyphenated_encoding   s    z&NormalizeTest.test_hyphenated_encodingc                 C   s(   |   dd¡ |   dd¡ |   dd¡ d S )Nz
de_DE@eurozde_DE.ISO8859-15zen_US.ISO8859-15@eurorØ   zde_DE.utf8@eurozde_DE.UTF-8rÏ   r4   r    r    r!   Útest_euro_modifier¯  s    z NormalizeTest.test_euro_modifierc                 C   s(   |   dd¡ |   dd¡ |   dd¡ d S )Nzbe_BY.UTF-8@latinzsr_RS.UTF-8@latinzsr_RS.UTF-8@latnrÏ   r4   r    r    r!   Útest_latin_modifier´  s    z!NormalizeTest.test_latin_modifierc                 C   s(   |   dd¡ |   dd¡ |   dd¡ d S )Nzca_ES.UTF-8@valenciazca_ES@valenciazca@valenciazca_ES.ISO8859-1@valenciarÏ   r4   r    r    r!   Útest_valencia_modifier¹  s    z$NormalizeTest.test_valencia_modifierc                 C   s”   |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   d	d¡ |   d
d
¡ |   dd
¡ |   dd
¡ d S )Nzks_IN.UTF-8@devanagarizks_IN@devanagarizks@devanagarizks_IN.UTF-8Zks_INÚkszsd_IN.UTF-8@devanagarizsd_IN@devanagarizsd@devanagarizsd_IN.UTF-8Zsd_INÚsdrÏ   r4   r    r    r!   Útest_devanagari_modifier¾  s    z&NormalizeTest.test_devanagari_modifierc                 C   sX   |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   d	d
¡ |   dd
¡ d S )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.euctwrÏ   r4   r    r    r!   Útest_euc_encodingÌ  s    zNormalizeTest.test_euc_encodingc                 C   s  |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   d	d¡ |   d
d¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ |   dd¡ d S )NÚjarã   zja.jisz
ja_JP.JIS7zja.sjisz
ja_JP.SJISÚja_jpz
ja_jp.ajecrâ   rä   zja_jp.iso-2022-jpzja_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-8ÚjapanÚjapanesezjapanese-euczjapanese.euczjapanese.sjisÚjp_jprÏ   r4   r    r    r!   Útest_japaneseÕ  s,    zNormalizeTest.test_japaneseN)r,   r-   r.   rÊ   rÎ   rÐ   rÔ   rÚ   rÛ   rÜ   rÝ   rÞ   rá   rå   rë   r    r    r    r!   rÆ     s   	rÆ   c                   @   sD   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dS )ÚTestMiscellaneousc              
   C   sü   dd l }dd l}|  t d¡d¡ t|dƒr8|j}|`nd }i }z~dD ]$}||jv rF|j| ||< |j|= qFd|jd< |  t ¡ d¡ W |D ]}|| |j|< qŒd|vr°|jd= |d urø||_n8|D ]}|| |j|< qÄd|vrè|jd= |d urö||_0 d S )Nr   úUTF-8)Nrí   Ú_getdefaultlocale)rÅ   ÚLC_CTYPEÚLANGÚLANGUAGErï   )	Ú_localer   rX   r   Ú_parse_localenameÚhasattrrî   ÚenvironÚgetdefaultlocale)r*   rò   r   Zorig_getlocaleZorig_envÚkeyÚkr    r    r!   Útest_defaults_UTF8ï  s6    



ùz$TestMiscellaneous.test_defaults_UTF8c                 C   s   t  ¡ }|rt |¡ d S r1   )r   r¾   r¼   r½   rÀ   r    r    r!   Útest_getpreferredencoding  s    z+TestMiscellaneous.test_getpreferredencodingc                 C   s(   |   ttjdd ¡ |   ttjdd ¡ d S )Nr°   ó   a)r’   Ú	TypeErrorr   r´   r4   r    r    r!   Útest_strcoll_3303  s    z#TestMiscellaneous.test_strcoll_3303c                 C   s^   t  t j¡ t  t j¡ t  t j¡ t  t j¡ t  t j¡ t  t j¡ |  t j	t jd¡ d S )Ni90  )
r   r   rÅ   ÚLC_TIMErï   Ú
LC_COLLATEÚLC_MONETARYr   r’   r   r4   r    r    r!   Útest_setlocale_category  s    z)TestMiscellaneous.test_setlocale_categoryc              
   C   sÜ   t  t j¡}|  t jt j|¡ zt  t jd¡ W n t jyN   |  d¡ Y n0 t  t j¡}trttd|f ddd zt  t j|¡ W n< t jyÂ } z"|  d|›d|›¡ W Y d }~n
d }~0 0 |  	|t  t j¡¡ d S )	NÚtr_TRztest needs Turkish localeztesting with %ar#   Tr$   zsetlocale(LC_CTYPE, z
) failed: )
r   r   rï   r(   r   ZskipTestÚ	getlocaler   r)   rX   )r*   r   ÚlocÚexcr    r    r!   Útest_getsetlocale_issue1813*  s    ,z-TestMiscellaneous.test_getsetlocale_issue1813c                 C   s<   |   t¡ t tjd¡ W d   ƒ n1 s.0    Y  d S )Ns   fi_FI©r’   rü   r   r   rÅ   r4   r    r    r!   Ú)test_invalid_locale_format_in_localetuple?  s    z;TestMiscellaneous.test_invalid_locale_format_in_localetuplec                 C   s<   |   t¡ t tjd¡ W d   ƒ n1 s.0    Y  d S )N)s   nots   validr  r4   r    r    r!   Ú$test_invalid_iterable_in_localetupleC  s    z6TestMiscellaneous.test_invalid_iterable_in_localetupleN)
r,   r-   r.   rù   rú   rý   r  r  r  r	  r    r    r    r!   rì   î  s   $rì   c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚBaseDelocalizeTestc                 C   s   |   t |¡|¡ d S r1   )rX   r   Ú
delocalize©r*   rZ   r[   r    r    r!   Ú_test_delocalizeJ  s    z#BaseDelocalizeTest._test_delocalizec                 C   s   |   t |¡|¡ d S r1   )rX   r   Úatofr  r    r    r!   Ú
_test_atofM  s    zBaseDelocalizeTest._test_atofc                 C   s   |   t |¡|¡ d S r1   )rX   r   Úatoir  r    r    r!   Ú
_test_atoiP  s    zBaseDelocalizeTest._test_atoiN)r,   r-   r.   r  r  r  r    r    r    r!   r
  H  s   r
  c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚTestEnUSDelocalizec                 C   s   |   dd¡ |   dd¡ d S )Nú50000.00ú	50,000.00©r  r4   r    r    r!   Útest_delocalizeV  s    z"TestEnUSDelocalize.test_delocalizec                 C   s   |   dd¡ |   dd¡ d S )Nr  ç     jè@r  ©r  r4   r    r    r!   Ú	test_atofZ  s    zTestEnUSDelocalize.test_atofc                 C   s   |   dd¡ |   dd¡ d S )NÚ50000rž   z50,000©r  r4   r    r    r!   Ú	test_atoi^  s    zTestEnUSDelocalize.test_atoiN©r,   r-   r.   r  r  r  r    r    r    r!   r  T  s   r  c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚTestCDelocalizeTestc                 C   s   |   dd¡ d S )Nr  r  r4   r    r    r!   r  e  s    z#TestCDelocalizeTest.test_delocalizec                 C   s   |   dd¡ d S )Nr  r  r  r4   r    r    r!   r  h  s    zTestCDelocalizeTest.test_atofc                 C   s   |   dd¡ d S )Nr  rž   r  r4   r    r    r!   r  k  s    zTestCDelocalizeTest.test_atoiNr  r    r    r    r!   r  c  s   r  c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚTestfrFRDelocalizeTestc                 C   s   |   dd¡ |   dd¡ d S )Nú50000,00r  ú	50 000,00r  r4   r    r    r!   r  q  s    z&TestfrFRDelocalizeTest.test_delocalizec                 C   s   |   dd¡ |   dd¡ d S )Nr   r  r!  r  r4   r    r    r!   r  u  s    z TestfrFRDelocalizeTest.test_atofc                 C   s   |   dd¡ |   dd¡ d S )Nr  rž   z50 000r  r4   r    r    r!   r  y  s    z TestfrFRDelocalizeTest.test_atoiNr  r    r    r    r!   r  o  s   r  Ú__main__)!Ztest.supportr   r   r   r   r   r   r¼   ZTestCaser   r0   r6   rM   rU   ÚobjectrW   rf   r   r•   rœ   r   r£   r§   r¯   r¸   rÆ   rì   r
  r  r  r  r,   Úmainr    r    r    r!   Ú<module>   s6   +I

*oZ
