
    dafa                         d dl mZ d dlmZmZmZmZ d dlmZ d dl	Z	d dl
Z
d dlZd dlZ G d de	j                        Z G d de	j                        Z G d	 d
e      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de	j                        Z G d dee      Z G d dee      Z G d dee      Z G d dee      Z G d de	j                        Z G d d ee      Z G d! d"e	j                        Z G d# d$e	j                        Z G d% d&e      Z G d' d(ee      Z  G d) d*ee      Z! G d+ d,ee      Z" G d- d.e      Z# G d/ d0ee#      Z$ G d1 d2ee#      Z% G d3 d4ee#      Z&e'd5k(  r e	jP                          yy)6    )Decimal)verbose
is_androidis_emscriptenis_wasi)check_warningsNc                   "    e Zd Zed        Zd Zy)BaseLocalizedTestc                    t         j                  dk(  rSdd l}d}t        |j	                         j
                  j                  d      d         dk  r9t        j                  d      t         j                  j                  d      rd}nd	}	 t        j                  t        j                        }|D ](  }	 t        j                  t        j                  |        n( t        j                  d
dj                  |      z        || _        t        j                  t        j                  |       y # t        j                  $ r Y w xY w# t        j                  t        j                         w xY w)Ndarwinr   )en_US.UTF-8en_US.ISO8859-1en_US.
   z#Locale support on MacOSX is minimalwin)En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   tlocs	oldlocaletlocs        +/root/Python-3.12.4/Lib/test/test_locale.py
setUpClasszBaseLocalizedTest.setUpClass   s9   <<8#?E288:%%++C034r9 ''(MNN\\$$U+%E0E	;(():):;I K$$V%6%6= K '' )58<		%8H)J K K"COV..	: ||  V..	:s0   (E 5$D/1E /EE EE &E.c                 0   t        j                  | j                        }| j                  t         j                  | j                  |       t        j                  | j                  | j                         t
        rt        d| j                  z  dd       y y )Nztesting with %r... Tendflush)r    r!   locale_type
addCleanupr%   r   print)selfr(   s     r*   setUpzBaseLocalizedTest.setUp-   sp    $$T%5%56	(($*:*:IF))4+;+;<&)9)99s$O     N)__name__
__module____qualname__classmethodr+   r5    r6   r*   r
   r
   
   s    
 ; ;:Pr6   r
   c                       e Zd Zd Zd Zy)BaseCookedTestc                 .    | j                   t        _        y N)cooked_valuesr    _override_localeconvr4   s    r*   r5   zBaseCookedTest.setUp:   s    &*&8&8#r6   c                     i t         _        y r?   )r    rA   rB   s    r*   tearDownzBaseCookedTest.tearDown=   s
    &(#r6   N)r7   r8   r9   r5   rD   r;   r6   r*   r=   r=   5   s    
9)r6   r=   c                   ~    e Zd Zi dddddddg ddd	dd
ddg ddddddddddddddddddddiZy)CCookedTestcurrency_symbol decimal_pointr   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r7   r8   r9   r@   r;   r6   r*   rF   rF   @   s    2 	s 	B	
 	2 	3 	R 	 	R 	 	# 	s 	 	 	#  	s!" 	#$ 	%Mr6   rF   c                       e Zd Zi dddddddg dd	d
dddddg dddddddddddddddddddddiZy)EnUSCookedTestrG   $rI   r   rJ      rL      ra   r   rM   zUSD rN   rO   rP   rQ   ,rR      rS   r   rT   rU   -rV   rW   rX   rY   rH   rZ   Nr[   r;   r6   r*   r]   r]   X   s    3 	q 	I	
 	6 	1 	S 		 	S 	 	! 	q 	 	 	!  	q!" 	#$ 	%Mr6   r]   c                       e Zd Zi dddddddg dd	d
dddddg dddddddddddddddddddddiZy)FrFRCookedTestrG      €rI   rb   rJ   r_   rL   r`   rM   zEUR rN   rO   rP   rQ   r-   rR   r   rS   rc   rT   rU   rd   rV   rW   rX   rY   rH   rZ   Nr[   r;   r6   r*   rf   rf   q   s    8 	q 	I	
 	6 	1 	S 		 	S 	 	! 	q 	 	 	!  	q!" 	#$ 	%Mr6   rf   c                       e Zd Zd Zd Zy)BaseFormattingTestc                 R    | j                  t        j                  ||fi ||       y r?   assertEqualr    format_string)r4   formatvalueoutformat_optss        r*   _test_format_stringz&BaseFormattingTest._test_format_string   s(      >+>	Er6   c                 P    | j                  t        j                  |fi ||       y r?   )rl   r    currency)r4   ro   rp   rq   s       r*   _test_currencyz!BaseFormattingTest._test_currency   s     >+>Dr6   N)r7   r8   r9   rr   ru   r;   r6   r*   ri   ri      s    
EEr6   ri   c                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
EnUSNumberFormattingc                 <    t        j                         d   | _        y )NrZ   )r    
localeconvseprB   s    r*   r5   zEnUSNumberFormatting.setUp   s    $$&7r6   c                     | j                  dddd| j                  z         | j                  dddd       | j                  dddd	       | j                  d
ddd	       y )N%f   rc   z1%s024.000000rL   rp   f   
102.000000
-42.000000%+frr   rz   rB   s    r*   test_groupingz"EnUSNumberFormatting.test_grouping   sg      ta_txx=W X  sQL I  sQL I  a\ Jr6   c                 *   | j                  ddddj                  d             | j                  rc| j                  dddd	| j                  z  j                  d
             | j                  dddd	| j                  z  j                  d
             y y )N%20.fr   rc   -42   r~   %+10.f-4%s200r   %-10.f)rr   rjustrz   ljustrB   s    r*   test_grouping_and_paddingz.EnUSNumberFormatting.test_grouping_and_padding   s      #u{{2 O88$$Xuq)004 % 6$$Xuq)004 % 6 r6   c                     | j                  dddd| j                  z         | j                  dddd| j                  z         | j                  dddd	| j                  z         y )
N%dh  T4%s200r~   z%+dz+4%s200r   r   r   rB   s    r*   test_integer_groupingz*EnUSNumberFormatting.test_integer_grouping   sb      td488@S T  tTXXAU V  )dhhBV Wr6   c                     | j                  dddd| j                  z  j                  d             | j                  dddd	| j                  z  j                  d             y )
N%10dr   Tr   r   r~   %-10dr   r   )rr   rz   r   r   rB   s    r*   !test_integer_grouping_and_paddingz6EnUSNumberFormatting.test_integer_grouping_and_padding   sb      DHH$++B/ 	! 	1  %$TXX%,,R0 	! 	2r6   c                     | j                  dddd       | j                  dddd       | j                  dddd	       | j                  d
ddd	       y )Nr|   r}   r   z1024.000000r~   r   r   r   r   r   rr   rB   s    r*   test_simplez EnUSNumberFormatting.test_simple   s^      ta] K  sQL I  sQL I  a\ Jr6   c                     | j                  ddddj                  d             | j                  dddd	j                  d
             | j                  ddddj                  d
             y )Nr   r   r   r   r   r~   r   r   z-4200r   r   r   4200rr   r   r   rB   s    r*   test_paddingz!EnUSNumberFormatting.test_padding   sb      #u{{2 O  51'--PRBS T  4!bAQ Rr6   c           
         | j                  dddd| j                  d| j                  d       | j                  dddd| j                  d| j                  d       | j                  d	d
d       | j                  r4| j                  ddddd| j                  z  j                  d      z          | j                  ddddj                  d             | j                  r1| j                  dddd| j                  z  j                  d             | j                  r0| j                  dddd| j                  d| j                  d       | j                  ddd        | j                  d!d"d#       | j                  d$d"d%       y )&NzOne million is %ii@B rc   zOne million is 1000r~   zOne  million is %izOne  million is 1z.%f.     @@z.1000.000000.rp   z-->  %10.2fr   z-->  z	4%s200.00r   z%10.*f)r_     r   z1000.00z%*.*f)r   r_   r   z	1%s000.00zint %i float %.2f str %s)r   r   strzint 1z000 float 1z000.00 str strz
total=%i%%d   z
total=100%znewline: %i
ra   znewline: 3
z
extra: %iiz	extra: 3i)rr   rz   r   rB   s    r*   test_complex_formattingz,EnUSNumberFormatting.test_complex_formatting   s     !4g04$((C 	! 	E  !5w15488D 	! 	F 	  _ E88$$]D1{TXX5<<R@@ % B 	  9q# 	! 	%88$$Wma 488+2226 % 8 88$$%?%488% % &
 	  s E  ! H  qk Br6   N)r7   r8   r9   r5   r   r   r   r   r   r   r   r;   r6   r*   rw   rw      s/    8K6X
2KS
Cr6   rw   c                       e Zd ZdZd Zd Zy)TestLocaleFormatStringz%General tests on locale.format_stringc                    | j                  t        j                  dd      ddz         | j                  t        j                  dd      ddz         | j                  t        j                  dddi      dddiz         y )Nz%f%%      ?z%d %f%%d)rc   r   z%(foo)s %%dfoobarrk   rB   s    r*   test_percent_escapez*TestLocaleFormatString.test_percent_escape   su    --fc:FSLI--j(C!	#--meU^LeU^+	.r6   c                     | j                  t        j                  dddi      dddiz         | j                  t        j                  dddi      dddiz         y )Nz%(foo)s bing.r   r   z%(foo)srk   rB   s    r*   test_mappingz#TestLocaleFormatString.test_mapping   s\    --ou~Nu~-	0--i%H%'	*r6   N)r7   r8   r9   __doc__r   r   r;   r6   r*   r   r      s    /.*r6   r   c                   *    e Zd Zej                  Zd Zy)TestNumberFormattingc                 X    t         j                  |        t        j                  |        y r?   )r
   r5   rw   rB   s    r*   r5   zTestNumberFormatting.setUp   s    %""4(r6   N)r7   r8   r9   r    r"   r1   r5   r;   r6   r*   r   r      s     ##K)r6   r   c                       e Zd Zd Zd Zy)TestEnUSNumberFormattingc                 X    t         j                  |        t        j                  |        y r?   )r]   r5   rw   rB   s    r*   r5   zTestEnUSNumberFormatting.setUp   s    T"""4(r6   c                 z    | j                  dd       | j                  ddd       | j                  dddd       y )NP  z	$50000.00z
$50,000.00TrL   zUSD 50,000.00rL   internationalru   rB   s    r*   test_currencyz&TestEnUSNumberFormatting.test_currency  sC    E;/E<$?E? 	 	/r6   N)r7   r8   r9   r5   r   r;   r6   r*   r   r      s    )/r6   r   c                       e Zd Zd Zd Zy)TestCNumberFormattingc                 .    | j                  dddd       y )N%.2f)\@Tz12345.67r~   r   rB   s    r*   r   z#TestCNumberFormatting.test_grouping  s      Dj Qr6   c                 .    | j                  dddd       y )N%9.2fr   Tz	 12345.67r~   r   rB   s    r*   r   z/TestCNumberFormatting.test_grouping_and_padding  s      (T{ Sr6   N)r7   r8   r9   r   r   r;   r6   r*   r   r     s    RTr6   r   c                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)TestFrFRNumberFormattingc                 ,    | j                  ddd       y )Nr   r   z12345,67r   r   rB   s    r*   test_decimal_pointz+TestFrFRNumberFormatting.test_decimal_point  s      z Br6   c                 X    | j                  dddd       | j                  dddd       y )Nr   Qu@T345,67r~   r   	12 345,67r   rB   s    r*   r   z&TestFrFRNumberFormatting.test_grouping  s0      $H M  Dk Rr6   c                    | j                  dddd       | j                  dddd       | j                  dd	dd
       | j                  dd	dd
       | j                  dd	dd       | j                  dddd       | j                  dddd       | j                  dd	dd
       | j                  dd	dd
       | j                  dd	dd       y )Nz%6.2fr   Tr   r~   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   rB   s    r*   r   z2TestFrFRNumberFormatting.test_grouping_and_padding  s      &4X N  &4Y O  (T{ S  (T{ S  8d U  6Dh O  6Di P  8d T  8d T  Ht Vr6   c                 X    | j                  dddd       | j                  dddd       y )Nr      T200r~   r   4 200r   rB   s    r*   r   z.TestFrFRNumberFormatting.test_integer_grouping+  s0      sTu E  td Hr6   c                 <   | j                  dddd       | j                  dddd       | j                  ddddj                  d             | j                  d	ddd       | j                  d
ddd       | j                  ddddj                  d             y )Nz%4dr   Tr   r~   z%5dr   r   z%-4dz%-5dr   r   rB   s    r*   r   z:TestFrFRNumberFormatting.test_integer_grouping_and_padding/  s      t I  t I  '--PRBS T  ' J  ' J  $7==QSCT Ur6   c                     d}| j                  dd|z          | j                  dd|z   d       | j                  dddd       y )	Nrg   r   z	50000,00 z
50 000,00 Tr   z50 000,00 EURr   r   )r4   euros     r*   r   z&TestFrFRNumberFormatting.test_currency7  sR    E;#56E<$#6FE? 	 	/r6   N)	r7   r8   r9   r   r   r   r   r   r   r;   r6   r*   r   r     s%    CS
WIV/r6   r   c                       e Zd Zd Zd Zy)TestCollationc                    | j                  t        j                  dd      d       | j                  t        j                  dd      d       | j	                  t        j                  dd      d       | j                  t        t        j                  dd       | j                  t        t        j                  dd       y )Nabr   a )
assertLessr    strcollrl   assertGreaterassertRaises
ValueErrorrB   s    r*   test_strcollzTestCollation.test_strcollB  s    sC0!4S1156>>#s3Q7*fnneSA*fnnc5Ar6   c                     | j                  t        j                  d      t        j                  d             | j                  t        t        j                  d       y )Nr   r   r   )r   r    strxfrmr   r   rB   s    r*   test_strxfrmzTestCollation.test_strxfrmJ  s8    s+V^^C-@A*fnne<r6   N)r7   r8   r9   r   r   r;   r6   r*   r   r   ?  s    B=r6   r   c                   Z   e Zd Zej                  Zd Z ej                  e	j                  j                  d      d       ej                  exs ed      d               Z ej                  e	j                  j                  d      d       ej                  exs ed      d               Zy)TestEnUSCollationc                 n   t        j                  t        j                         xs d      j                  }|dvrt        j                  d      |dk7  rMt        j                  dk(  s%t        st        j                  j                  d      rt        j                  d      t        j                  |        y )Nascii)zutf-8	iso8859-1cp1252zencoding not suitabler   r   freebsdzwcscoll/wcsxfrm have known bugs)codecslookupr    getencodingnamer   r   r   r   r   r   r
   r5   r4   encs     r*   r5   zTestEnUSCollation.setUpU  s    mmF..0;G<AA66##$;<<+3<<8#;z#&<<#:#:9#E##$EFF%r6   aixzbpo-29972: broken test on AIXz-musl libc issue on Emscripten/WASI, bpo-46390c                 P    | j                  t        j                  dd      d       y )N   àr   r   )r   r    r   rB   s    r*   test_strcoll_with_diacriticz-TestEnUSCollation.test_strcoll_with_diacritic^  s     	tS115r6   c                 t    | j                  t        j                  d      t        j                  d             y )Nr   r   )r   r    r   rB   s    r*   test_strxfrm_with_diacriticz-TestEnUSCollation.test_strxfrm_with_diacriticg  s$     	t,fnnS.ABr6   N)r7   r8   r9   r    LC_ALLr1   r5   r   skipIfr   r   r   r   r   r   r   r;   r6   r*   r   r   P  s     --K& X__S\\,,U346X__ 76	66 X__S\\,,U346X__ 7C	6Cr6   r   c                   T    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zy)NormalizeTestc                 R    | j                  t        j                  |      ||       y )N)msg)rl   r    	normalize)r4   
localenameexpecteds      r*   checkzNormalizeTest.checkr  s"    ))*5xZPr6   c                     t         j                  j                         D ]4  \  }}| j                  ||f      5  | j	                  ||       d d d        6 y # 1 sw Y   AxY w)N)r    )r    locale_aliasitemssubTestr  )r4   r   aliass      r*   test_locale_aliaszNormalizeTest.test_locale_aliasu  s`    !'!4!4!:!:!< 	.Jj%%89 .

:u-. .	.. .s   AA 	c                 (    | j                  dd       y NrH   r  rB   s    r*   
test_emptyzNormalizeTest.test_emptyz  s    

2rr6   c                 L    | j                  dd       | j                  dd       y )NcCposixr  rB   s    r*   test_czNormalizeTest.test_c}  s    

3

7C r6   c                     | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  d	d	       | j                  d
d	       | j                  dd	       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       y )Nenr   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  rB   s    r*   test_englishzNormalizeTest.test_english  s    

4*+

4*+

="34

7-.

7-.

7-.

=-0

</

=-0

$&78

#%67

="34

>#56

9/0

%'89r6   c                    | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd	       | j                  d
d	       | j                  dd       | j                  dd       | j                  dd       | j                  dd       y )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  rB   s    r*   test_hyphenated_encodingz&NormalizeTest.test_hyphenated_encoding  s    

$&89

%'9:

=.1

>>2

>#56

$&89

%'9:

*N;

+^<

*,DE

+-EF

#%67

$&78r6   c                 p    | j                  dd       | j                  dd       | j                  dd       y )Nz
de_DE@eurozde_DE.ISO8859-15zen_US.ISO8859-15@euror  zde_DE.utf8@eurozde_DE.UTF-8r  rB   s    r*   test_euro_modifierz NormalizeTest.test_euro_modifier  s0    

<!34

*,>?

$m4r6   c                 p    | j                  dd       | j                  dd       | j                  dd       y )Nzbe_BY.UTF-8@latinzsr_RS.UTF-8@latinzsr_RS.UTF-8@latnr  rB   s    r*   test_latin_modifierz!NormalizeTest.test_latin_modifier  s2    

&(;<

&(;<

%':;r6   c                 p    | j                  dd       | j                  dd       | j                  dd       y )Nzca_ES.UTF-8@valenciazca_ES@valenciazca@valenciazca_ES.ISO8859-1@valenciar  rB   s    r*   test_valencia_modifierz$NormalizeTest.test_valencia_modifier  s1    

)+AB

#%;<

="<=r6   c                    | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  d	d       | j                  d
d
       | j                  dd
       | j                  dd
       y )Nzks_IN.UTF-8@devanagarizks_IN@devanagarizks@devanagarizks_IN.UTF-8ks_INkszsd_IN.UTF-8@devanagarizsd_IN@devanagarizsd@devanagarizsd_IN.UTF-8sd_INsdr  rB   s    r*   test_devanagari_modifierz&NormalizeTest.test_devanagari_modifier  s    

+-EF

%'?@

?$<=

=-0

7M*

4'

+-EF

%'?@

?$<=

=-0

7M*

4'r6   c                     | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  d	d
       | j                  dd
       y )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  rB   s    r*   test_euc_encodingzNormalizeTest.test_euc_encoding  sd    

;.

=-0

;.

=-0

;.

;.

=-0r6   c                    | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  d	d       | j                  d
d       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       | j                  dd       y )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  rB   s    r*   test_japanesezNormalizeTest.test_japanese  s8   

4'

8\*

9l+

7M*

</

;.

=-0

&5

$l3

;-

<.

><0

;-

<.

</

</

7M*

:}-

>=1

>=1

?L1

7M*r6   N)r7   r8   r9   r  r  r  r  r  r  r  r  r!  r'  r,  r3  r;   r6   r*   r   r   q  s?    Q.
!:"95
<
>
(1+r6   r   c                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
TestMiscellaneousc                    dd l }dd l}| j                  t        j                  d      d       t        |d      r|j                  }|`nd }i }	 dD ]0  }||j                  v s|j                  |   ||<   |j                  |= 2 d|j                  d<   t        dt        f      5  | j                  t        j                         d       d d d        |D ]  }||   |j                  |<    d|vr|j                  d= |||_        y y # 1 sw Y   >xY w# |D ]  }||   |j                  |<    d|vr|j                  d= |||_        w w xY w)Nr   UTF-8)Nr7  _getdefaultlocale)r   LC_CTYPELANGLANGUAGEr9  rH   )_localer   rl   r    _parse_localenamehasattrr8  environr   DeprecationWarninggetdefaultlocale)r4   r<  r   orig_getlocaleorig_envkeyks          r*   test_defaults_UTF8z$TestMiscellaneous.test_defaults_UTF8  sn    	11':OL7/0$66N)!N	;A ("**$$&JJsOHSM

3(
 &-BJJz"%7 89 M  !8!8!:OLM  , (

1, )JJz*),:) *M M  , (

1, )JJz*),:) *s+   D "AD #%DD D
D 6Ec                     t        j                         }| j                  |t               | j	                  |d       t        j                  |       y r
  )r    r   assertIsInstancer   assertNotEqualr   r   r   s     r*   test_getencodingz"TestMiscellaneous.test_getencoding  s<      "c3'C$cr6   c                 \    t        j                         }|rt        j                  |       y y r?   )r    getpreferredencodingr   r   r   s     r*   test_getpreferredencodingz+TestMiscellaneous.test_getpreferredencoding  s$    ))+MM# r6   c                     | j                  t        t        j                  dd        | j                  t        t        j                  dd        y )Nr      a)r   	TypeErrorr    r   rB   s    r*   test_strcoll_3303z#TestMiscellaneous.test_strcoll_3303  s2    )V^^S$?)V^^T4@r6   c                    t        j                  t         j                         t        j                  t         j                         t        j                  t         j                         t        j                  t         j
                         t        j                  t         j                         t        j                  t         j                         | j                  t         j                  t         j                  d       y )Ni90  )
r    r!   r   LC_TIMEr9  
LC_COLLATELC_MONETARYr"   r   r#   rB   s    r*   test_setlocale_categoryz)TestMiscellaneous.test_setlocale_category  s    '()**+++,**+ 	&,,(8(8%@r6   c                    t        j                  t         j                        }| j                  t         j                  t         j                  |       	 t        j                  t         j                  d       t        j                  t         j                        }t        rt        d|dd       	 t        j                  t         j                  |       | j                  |t        j                  t         j                               y # t         j                  $ r | j                  d       Y w xY w# t         j                  $ r!}| j                  d|d|       Y d }~d }~ww xY w)	Ntr_TRztest needs Turkish localeztesting with r-   Tr.   zsetlocale(LC_CTYPE, z
) failed: )
r    r!   r9  r2   r#   skipTest	getlocaler   r3   rl   )r4   r(   locexcs       r*   test_getsetlocale_issue1813z-TestMiscellaneous.test_getsetlocale_issue1813%  s   $$V__5	((&//9E	7V__g6 v/s,#TB	KV__c2 	f..v?@ || 	7MM56	7 || 	K MM0z#IJJ		Ks*   $D 3$D5 $D21D25E)E$$E)c                     | j                  t              5  t        j                  t        j                  d       d d d        y # 1 sw Y   y xY w)Ns   fi_FIr   rP  r    r!   r   rB   s    r*   )test_invalid_locale_format_in_localetuplez;TestMiscellaneous.test_invalid_locale_format_in_localetuple:  s9    y) 	6V]]H5	6 	6 	6   %AAc                     | j                  t              5  t        j                  t        j                  d       d d d        y # 1 sw Y   y xY w)N)s   nots   validr_  rB   s    r*   $test_invalid_iterable_in_localetuplez6TestMiscellaneous.test_invalid_iterable_in_localetuple>  s>    y) 	@V]],>?	@ 	@ 	@ra  N)r7   r8   r9   rF  rJ  rM  rQ  rV  r]  r`  rc  r;   r6   r*   r5  r5    s/    #;JA
	AA*6@r6   r5  c                       e Zd Zd Zd Zd Zy)BaseDelocalizeTestc                 N    | j                  t        j                  |      |       y r?   )rl   r    
delocalizer4   ro   rp   s      r*   _test_delocalizez#BaseDelocalizeTest._test_delocalizeE  s    **5137r6   c                 N    | j                  t        j                  |      |       y r?   )rl   r    atofrh  s      r*   
_test_atofzBaseDelocalizeTest._test_atofH      U+S1r6   c                 N    | j                  t        j                  |      |       y r?   )rl   r    atoirh  s      r*   
_test_atoizBaseDelocalizeTest._test_atoiK  rm  r6   N)r7   r8   r9   ri  rl  rp  r;   r6   r*   re  re  C  s    822r6   re  c                       e Zd Zd Zd Zd Zy)TestEnUSDelocalizec                 L    | j                  dd       | j                  dd       y )N50000.00	50,000.00ri  rB   s    r*   test_delocalizez"TestEnUSDelocalize.test_delocalizeQ  "    j*5k:6r6   c                 L    | j                  dd       | j                  dd       y )Nrt       j@ru  rl  rB   s    r*   	test_atofzTestEnUSDelocalize.test_atofU      
F+V,r6   c                 L    | j                  dd       | j                  dd       y )N50000r   z50,000rp  rB   s    r*   	test_atoizTestEnUSDelocalize.test_atoiY      '%(r6   Nr7   r8   r9   rw  r|  r  r;   r6   r*   rr  rr  O      7-)r6   rr  c                       e Zd Zd Zd Zd Zy)TestCDelocalizeTestc                 (    | j                  dd       y Nrt  rv  rB   s    r*   rw  z#TestCDelocalizeTest.test_delocalize`  s    j*5r6   c                 (    | j                  dd       y )Nrt  rz  r{  rB   s    r*   r|  zTestCDelocalizeTest.test_atofc  s    
F+r6   c                 (    | j                  dd       y )Nr  r   r  rB   s    r*   r  zTestCDelocalizeTest.test_atoif  s    'r6   Nr  r;   r6   r*   r  r  ^  s    6,(r6   r  c                       e Zd Zd Zd Zd Zy)TestfrFRDelocalizeTestc                 L    | j                  dd       | j                  dd       y )N50000,00rt  	50 000,00rv  rB   s    r*   rw  z&TestfrFRDelocalizeTest.test_delocalizel  rx  r6   c                 L    | j                  dd       | j                  dd       y )Nr  rz  r  r{  rB   s    r*   r|  z TestfrFRDelocalizeTest.test_atofp  r}  r6   c                 L    | j                  dd       | j                  dd       y )Nr  r   z50 000r  rB   s    r*   r  z TestfrFRDelocalizeTest.test_atoit  r  r6   Nr  r;   r6   r*   r  r  j  r  r6   r  c                       e Zd ZddZy)BaseLocalizeTestc                 R    | j                  t        j                  ||      |       y )Nr   )rl   r    localize)r4   ro   rp   rL   s       r*   _test_localizezBaseLocalizeTest._test_localize{  s    BCHr6   N)F)r7   r8   r9   r  r;   r6   r*   r  r  y  s    Ir6   r  c                       e Zd Zd Zy)TestEnUSLocalizec                 |    | j                  dd       | j                  dj                  t        d            d       y )Nrt  z{0:.16f}z1.15z1.1500000000000000)r  rn   r   rB   s    r*   test_localizezTestEnUSLocalize.test_localize  s6    J
3gfo.0D	Fr6   Nr7   r8   r9   r  r;   r6   r*   r  r    s    Fr6   r  c                       e Zd Zd Zy)TestCLocalizec                 (    | j                  dd       y r  r  rB   s    r*   r  zTestCLocalize.test_localize  s    J
3r6   Nr  r;   r6   r*   r  r    s    4r6   r  c                       e Zd Zd Zy)TestfrFRLocalizec                 P    | j                  dd       | j                  ddd       y )Nrt  r  r  Tr   r  rB   s    r*   r  zTestfrFRLocalize.test_localize  s'    J
3JdCr6   Nr  r;   r6   r*   r  r    s    Dr6   r  __main__))decimalr   test.supportr   r   r   r   test.support.warnings_helperr   r   r    r   r   TestCaser
   r=   rF   r]   rf   objectri   rw   r   r   r   r   r   r   r   r   r5  re  rr  r  r  r  r  r  r  r7   mainr;   r6   r*   <module>r     s    D D 7   
 (P)) (PV	)X&& 	). 0^ 2^ 4
E 
EFC- FCR*X.. *$),.B )/~/C /TK); T'/~/A '/T=H%% ="C)= CBl+H%% l+^`@)) `@F	2* 	2)); )	(+'9 	()^-? )I( IF~'7 F4K!1 4D~'7 D zHMMO r6   