
    0hhi                     l   S SK Jr  S SKJrJrJrJr  S SKJr  S SK	J
r
  S SKJr  S SKrS SKrS SKrS SKrS SKr " S S\R"                  5      r " S	 S
\R"                  5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\R"                  5      r " S S\\5      r " S S\\5      r " S S\\5      r " S S\\5      r " S S \R"                  5      r " S! S"\\5      r  " S# S$\R"                  5      r! " S% S&\R"                  5      r" " S' S(\R"                  5      r# " S) S*\5      r$ " S+ S,\\$5      r% " S- S.\\$5      r& " S/ S0\\$5      r' " S1 S2\5      r( " S3 S4\\(5      r) " S5 S6\\(5      r* " S7 S8\\(5      r+\,S9:X  a  \RZ                  " 5         gg):    )Decimal)verbose
is_androidis_emscriptenis_wasi)check_warnings)import_fresh_module)mockNc                   *    \ rS rSr\S 5       rS rSrg)BaseLocalizedTest   c                    [         R                  S:X  aW  SS KnSn[        UR                  " 5       R
                  R                  S5      S   5      S:  a  [        R                  " S5      eO)[         R                  R                  S5      (       a  SnOS	n [        R                  " [        R                  5      nU H)  n [        R                  " [        R                  U5          O*   [        R                  " S
SR                  U5      -  5      eX@l        [        R                  " [        R                  U5        g ! [        R                   a     M  f = f! [        R                  " [        R                  W5        f = f)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        9/opt/python-3.13.8/usr/lib/python3.13/test/test_locale.py
setUpClassBaseLocalizedTest.setUpClass   s:   <<8#?E288:%%++C034r9 ''(MNN	 :
 \\$$U++%E0E	;(():):;I$$V%6%6=   '' )58<		%8H)J K K"OV..	: ||  V..	:s0   )E  %D=%2E =EE EE 'E?c                 8   [         R                  " U R                  5      nU R                  [         R                  U R                  U5        [         R                  " U R                  U R                  5        [
        (       a  [        SU R                  -  SSS9  g g )Nztesting with %r... Tendflush)r#   r$   locale_type
addCleanupr(   r   printselfr+   s     r-   setUpBaseLocalizedTest.setUp0   sr    $$T%5%56	(($*:*:IF))4+;+;<7&)9)99s$O      N)__name__
__module____qualname____firstlineno__classmethodr.   r:   __static_attributes__r=   r<   r-   r   r      s    
 ; ;:Pr<   r   c                        \ rS rSrS rS rSrg)BaseCookedTest8   c                 .    U R                   [        l        g N)cooked_valuesr#   _override_localeconvr9   s    r-   r:   BaseCookedTest.setUp=   s    &*&8&8#r<   c                     0 [         l        g rH   )r#   rJ   rK   s    r-   tearDownBaseCookedTest.tearDown@   s
    &(#r<   r=   N)r>   r?   r@   rA   r:   rN   rC   r=   r<   r-   rE   rE   8   s    
9)r<   rE   c                       \ rS rSr0 SS_SS_SS_S/ _S	S_S
S_SS_S/ _SS_SS_SS_SS_SS_SS_SS_SS_SS_SS0ErSrg)CCookedTestC   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_sepr=   Nr>   r?   r@   rA   rI   rC   r=   r<   r-   rQ   rQ   C   s    2 	s 	B	
 	2 	3 	R 	 	R 	 	# 	s 	 	 	#  	s!" 	#$ 	%Mr<   rQ   c                       \ rS rSr0 SS_SS_SS_S/ S	Q_S
S_SS_SS_S/ S	Q_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS0ErSrg) EnUSCookedTest[   rS   $rU   r   rV      rX      rn   r   rY   zUSD rZ   r[   r\   r]   ,r^      r_   r   r`   ra   -rb   rc   rd   re   rT   rf   r=   Nrg   r=   r<   r-   ri   ri   [   s    3 	q 	I	
 	6 	1 	S 		 	S 	 	! 	q 	 	 	!  	q!" 	#$ 	%Mr<   ri   c                       \ rS rSr0 SS_SS_SS_S/ S	Q_S
S_SS_SS_S/ S	Q_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS0ErSrg) FrFRCookedTestt   rS      €rU   ro   rV   rl   rX   rm   rY   zEUR rZ   r[   r\   r]   r1   r^   r   r_   rp   r`   ra   rq   rb   rc   rd   re   rT   rf   r=   Nrg   r=   r<   r-   rs   rs   t   s    8 	q 	I	
 	6 	1 	S 		 	S 	 	! 	q 	 	 	!  	q!" 	#$ 	%Mr<   rs   c                        \ rS rSrS rS rSrg)BaseFormattingTest   c                 R    U R                  [        R                  " X40 UD6U5        g rH   assertEqualr#   format_string)r9   formatvalueoutformat_optss        r-   _test_format_string&BaseFormattingTest._test_format_string   s&      >+>	Er<   c                 R    U R                  [        R                  " U40 UD6U5        g rH   )r{   r#   currency)r9   r~   r   r   s       r-   _test_currency!BaseFormattingTest._test_currency   s     >+>Dr<   r=   N)r>   r?   r@   rA   r   r   rC   r=   r<   r-   rw   rw      s    
EEr<   rw   c                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)EnUSNumberFormatting   c                 >    [         R                  " 5       S   U l        g )Nrf   )r#   
localeconvseprK   s    r-   r:   EnUSNumberFormatting.setUp   s    $$&7r<   c                     U R                  SSSSU R                  -  S9  U R                  SSSSS9  U R                  SSSS	S9  U R                  S
SSS	S9  g )N%f   rp   z1%s024.000000rX   r   f   
102.000000
-42.000000%+fr   r   rK   s    r-   test_grouping"EnUSNumberFormatting.test_grouping   sg      ta_txx=W X  sQL I  sQL I  a\ Jr<   c                 "   U R                  SSSSR                  S5      S9  U R                  (       a]  U R                  SSSS	U R                  -  R                  S
5      S9  U R                  SSSS	U R                  -  R                  S
5      S9  g g )N%20.fr   rp   -42   r   %+10.f-4%s200r   %-10.f)r   rjustr   ljustrK   s    r-   test_grouping_and_padding.EnUSNumberFormatting.test_grouping_and_padding   s      #u{{2 O88$$Xuq)004 % 6$$Xuq)004 % 6 r<   c                     U R                  SSSSU R                  -  S9  U R                  SSSSU R                  -  S9  U R                  SSSS	U R                  -  S9  g )
N%dh  T4%s200r   z%+dz+4%s200r   r   r   rK   s    r-   test_integer_grouping*EnUSNumberFormatting.test_integer_grouping   sb      td488@S T  tTXXAU V  )dhhBV Wr<   c                     U R                  SSSSU R                  -  R                  S5      S9  U R                  SSSS	U R                  -  R                  S5      S9  g )
N%10dr   Tr   r   r   %-10dr   r   )r   r   r   r   rK   s    r-   !test_integer_grouping_and_padding6EnUSNumberFormatting.test_integer_grouping_and_padding   sb      DHH$++B/ 	! 	1  %$TXX%,,R0 	! 	2r<   c                     U R                  SSSSS9  U R                  SSSSS9  U R                  SSSS	S9  U R                  S
SSS	S9  g )Nr   r   r   z1024.000000r   r   r   r   r   r   r   rK   s    r-   test_simple EnUSNumberFormatting.test_simple   s^      ta] K  sQL I  sQL I  a\ Jr<   c                     U R                  SSSSR                  S5      S9  U R                  SSSS	R                  S
5      S9  U R                  SSSSR                  S
5      S9  g )Nr   r   r   r   r   r   r   r   z-4200r   r   r   4200r   r   r   rK   s    r-   test_padding!EnUSNumberFormatting.test_padding   sb      #u{{2 O  51'--PRBS T  4!bAQ Rr<   c           
         U R                  SSSSU R                  < SU R                  < S3S9  U R                  SSSSU R                  < SU R                  < S3S9  U R                  S	S
SS9  U R                  (       a1  U R                  SSSSSU R                  -  R                  S5      -   S9  U R                  SSSSR                  S5      S9  U R                  (       a.  U R                  SSSSU R                  -  R                  S5      S9  U R                  (       a/  U R                  SSSSU R                  < SU R                  < S3S9  U R                  SSS S9  U R                  S!S"S#S9  U R                  S$S"S%S9  g )&NzOne million is %ii@B rp   zOne million is 1000r   zOne  million is %izOne  million is 1z.%f.     @@z.1000.000000.r   z-->  %10.2fr   z-->  z	4%s200.00r   z%10.*f)rl     r   z1000.00z%*.*f)r   rl   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
rn   znewline: 3
z
extra: %iiz	extra: 3i)r   r   r   rK   s    r-   test_complex_formatting,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 Br<   )r   N)r>   r?   r@   rA   r:   r   r   r   r   r   r   r   rC   r=   r<   r-   r   r      s/    8K6X
2KS
Cr<   r   c                        \ rS rSrS rS rSrg)TestLocaleFormatString   c                    U R                  [        R                  " SS5      SS-  5        U R                  [        R                  " SS5      SS-  5        U R                  [        R                  " SSS05      SSS0-  5        g )Nz%f%%      ?z%d %f%%d)rp   r   z%(foo)s %%dfoobarrz   rK   s    r-   test_percent_escape*TestLocaleFormatString.test_percent_escape   su    --fc:FSLI--j(C!	#--meU^LeU^+	.r<   c                     U R                  [        R                  " SSS05      SSS0-  5        U R                  [        R                  " SSS05      SSS0-  5        g )Nz%(foo)s bing.r   r   z%(foo)srz   rK   s    r-   test_mapping#TestLocaleFormatString.test_mapping   s\    --ou~Nu~-	0--i%H%'	*r<   r=   N)r>   r?   r@   rA   r   r   rC   r=   r<   r-   r   r      s    .*r<   r   c                   2    \ rS rSr\R
                  rS rSrg)TestNumberFormatting   c                 X    [         R                  U 5        [        R                  U 5        g rH   )r   r:   r   rK   s    r-   r:   TestNumberFormatting.setUp   s    %""4(r<   r=   N)	r>   r?   r@   rA   r#   r%   r5   r:   rC   r=   r<   r-   r   r      s     ##K)r<   r   c                        \ rS rSrS rS rSrg)TestEnUSNumberFormatting   c                 X    [         R                  U 5        [        R                  U 5        g rH   )ri   r:   r   rK   s    r-   r:   TestEnUSNumberFormatting.setUp  s    T"""4(r<   c                 n    U R                  SS5        U R                  SSSS9  U R                  SSSSS9  g )NP  z	$50000.00z
$50,000.00TrX   zUSD 50,000.00rX   internationalr   rK   s    r-   test_currency&TestEnUSNumberFormatting.test_currency  sC    E;/E<$?E? 	 	/r<   r=   N)r>   r?   r@   rA   r:   r   rC   r=   r<   r-   r   r      s    )/r<   r   c                        \ rS rSrS rS rSrg)TestCNumberFormattingi  c                 (    U R                  SSSSS9  g )N%.2f)\@Tz12345.67r   r   rK   s    r-   r   #TestCNumberFormatting.test_grouping  s      Dj Qr<   c                 (    U R                  SSSSS9  g )N%9.2fr   Tz	 12345.67r   r   rK   s    r-   r   /TestCNumberFormatting.test_grouping_and_padding  s      (T{ Sr<   r=   N)r>   r?   r@   rA   r   r   rC   r=   r<   r-   r   r     s    RTr<   r   c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestFrFRNumberFormattingi  c                 &    U R                  SSSS9  g )Nr   r   z12345,67r   r   rK   s    r-   test_decimal_point+TestFrFRNumberFormatting.test_decimal_point  s      z Br<   c                 L    U R                  SSSSS9  U R                  SSSSS9  g )Nr   Qu@T345,67r   r   	12 345,67r   rK   s    r-   r   &TestFrFRNumberFormatting.test_grouping  s0      $H M  Dk Rr<   c                 l   U R                  SSSSS9  U R                  SSSSS9  U R                  SS	SS
S9  U R                  SS	SS
S9  U R                  SS	SSS9  U R                  SSSSS9  U R                  SSSSS9  U R                  SS	SS
S9  U R                  SS	SS
S9  U R                  SS	SSS9  g )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   rK   s    r-   r   2TestFrFRNumberFormatting.test_grouping_and_padding"  s      &4X N  &4Y O  (T{ S  (T{ S  8d U  6Dh O  6Di P  8d T  8d T  Ht Vr<   c                 L    U R                  SSSSS9  U R                  SSSSS9  g )Nr      T200r   r   4 200r   rK   s    r-   r   .TestFrFRNumberFormatting.test_integer_grouping.  s0      sTu E  td Hr<   c                    U R                  SSSSS9  U R                  SSSSS9  U R                  SSSSR                  S5      S9  U R                  S	SSSS9  U R                  S
SSSS9  U R                  SSSSR                  S5      S9  g )Nz%4dr   Tr   r   z%5dr   r   z%-4dz%-5dr   r   rK   s    r-   r   :TestFrFRNumberFormatting.test_integer_grouping_and_padding2  s      t I  t I  '--PRBS T  ' J  ' J  $7==QSCT Ur<   c                 ~    SnU R                  SSU-   5        U R                  SSU-   SS9  U R                  SSSSS9  g )	Nru   r   z	50000,00 z
50 000,00 Tr   z50 000,00 EURr   r   )r9   euros     r-   r   &TestFrFRNumberFormatting.test_currency:  sR    E;#56E<$#6FE? 	 	/r<   r=   N)r>   r?   r@   rA   r   r   r   r   r   r   rC   r=   r<   r-   r   r     s%    CS
WIV/r<   r   c                        \ rS rSrS rS rSrg)TestCollationiB  c                    U R                  [        R                  " SS5      S5        U R                  [        R                  " SS5      S5        U R	                  [        R                  " SS5      S5        U R                  [        [        R                  SS5        U R                  [        [        R                  SS5        g )Nabr   a )
assertLessr#   strcollr{   assertGreaterassertRaises
ValueErrorrK   s    r-   test_strcollTestCollation.test_strcollE  s    sC0!4S1156>>#s3Q7*fnneSA*fnnc5Ar<   c                     U R                  [        R                  " S5      [        R                  " S5      5        U R                  [        [        R                  S5        g )Nr  r  r  )r  r#   strxfrmr	  r
  rK   s    r-   test_strxfrmTestCollation.test_strxfrmM  s8    s+V^^C-@A*fnne<r<   r=   N)r>   r?   r@   rA   r  r  rC   r=   r<   r-   r  r  B  s    B=r<   r  c                   2   \ rS rSr\R
                  rS r\R                  " \
R                  R                  S5      S5      \R                  " \=(       d    \S5      \R                  " \
R                  R                  S5      S5      S 5       5       5       r\R                  " \
R                  R                  S5      S5      \R                  " \=(       d    \S5      \R                  " \
R                  R                  S5      S5      S	 5       5       5       rS
rg)TestEnUSCollationiS  c                 ,   [         R                  " [        R                  " 5       =(       d    S5      R                  nUS;  a  [
        R                  " S5      eUS:w  a!  [        (       a  [
        R                  " S5      e[        R                  U 5        g )Nascii)zutf-8	iso8859-1cp1252zencoding not suitabler  zwcscoll/wcsxfrm have known bugs)
codecslookupr#   getencodingnamer    r!   r   r   r:   r9   encs     r-   r:   TestEnUSCollation.setUpX  sk    mmF..0;G<AA66##$;<<+**##$EFF%r<   aixzbpo-29972: broken test on AIXz-musl libc issue on Emscripten/WASI, bpo-46390netbsdz6gh-124108: NetBSD doesn't support UTF-8 for LC_COLLATEc                 R    U R                  [        R                  " SS5      S5        g )N   àr  r   )r  r#   r  rK   s    r-   test_strcoll_with_diacritic-TestEnUSCollation.test_strcoll_with_diacritic`  s     	tS115r<   c                 x    U R                  [        R                  " S5      [        R                  " S5      5        g )Nr!  r  )r  r#   r  rK   s    r-   test_strxfrm_with_diacritic-TestEnUSCollation.test_strxfrm_with_diacritick  s$     	t,fnnS.ABr<   r=   N)r>   r?   r@   rA   r#   LC_ALLr5   r:   r    skipIfr   r   r"   r   r   r"  r%  rC   r=   r<   r-   r  r  S  s     --K& __S\\,,U346__ 7 __S\\,,X6MO6O	66 __S\\,,U346__ 7 __S\\,,X6MOCO	6Cr<   r  c                   b    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rSrg)NormalizeTestiw  c                 L    U R                  [        R                  " U5      X!S9  g )N)msg)r{   r#   	normalize)r9   
localenameexpecteds      r-   checkNormalizeTest.checkx  s     ))*5xPr<   c                     [         R                  R                  5        H/  u  pU R                  X4S9   U R	                  X5        S S S 5        M1     g ! , (       d  f       MC  = f)N)r#   )r#   locale_aliasitemssubTestr0  )r9   r.  aliass      r-   test_locale_aliasNormalizeTest.test_locale_alias{  sJ    !'!4!4!:!:!<Jj%89

:- :9 "=99s   A
A"	c                 (    U R                  SS5        g NrT   r0  rK   s    r-   
test_emptyNormalizeTest.test_empty  s    

2rr<   c                 L    U R                  SS5        U R                  SS5        g )NcCposixr;  rK   s    r-   test_cNormalizeTest.test_c  s    

3

7C r<   c                 L    U R                  SS5        U R                  SS5        g )Nzc.utf8zC.UTF-8r;  rK   s    r-   test_c_utf8NormalizeTest.test_c_utf8  s    

8Y'

9i(r<   c                     U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  S	S	5        U R                  S
S	5        U R                  SS	5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        g )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;  rK   s    r-   test_englishNormalizeTest.test_english  s    

4*+

4*+

="34

7-.

7-.

7-.

=-0

</

=-0

$&78

#%67

="34

>#56

9/0

%'89r<   c                    U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS	5        U R                  S
S	5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        g )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;  rK   s    r-   test_hyphenated_encoding&NormalizeTest.test_hyphenated_encoding  s    

$&89

%'9:

=.1

>>2

>#56

$&89

%'9:

*N;

+^<

*,DE

+-EF

#%67

$&78r<   c                 p    U R                  SS5        U R                  SS5        U R                  SS5        g )Nz
de_DE@eurozde_DE.ISO8859-15zen_US.ISO8859-15@eurorL  zde_DE.utf8@eurozde_DE.UTF-8r;  rK   s    r-   test_euro_modifier NormalizeTest.test_euro_modifier  s0    

<!34

*,>?

$m4r<   c                 p    U R                  SS5        U R                  SS5        U R                  SS5        g )Nzbe_BY.UTF-8@latinzsr_RS.UTF-8@latinzsr_RS.UTF-8@latnr;  rK   s    r-   test_latin_modifier!NormalizeTest.test_latin_modifier  s2    

&(;<

&(;<

%':;r<   c                 p    U R                  SS5        U R                  SS5        U R                  SS5        g )Nzca_ES.UTF-8@valenciazca_ES@valenciazca@valenciazca_ES.ISO8859-1@valenciar;  rK   s    r-   test_valencia_modifier$NormalizeTest.test_valencia_modifier  s1    

)+AB

#%;<

="<=r<   c                    U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  S	S5        U R                  S
S
5        U R                  SS
5        U R                  SS
5        g )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;  rK   s    r-   test_devanagari_modifier&NormalizeTest.test_devanagari_modifier  s    

+-EF

%'?@

?$<=

=-0

7M*

4'

+-EF

%'?@

?$<=

=-0

7M*

4'r<   c                     U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  S	S
5        U R                  SS
5        g )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;  rK   s    r-   test_euc_encodingNormalizeTest.test_euc_encoding  sd    

;.

=-0

;.

=-0

;.

;.

=-0r<   c                    U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  S	S5        U R                  S
S5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        U R                  SS5        g )Njare  zja.jisz
ja_JP.JIS7zja.sjisz
ja_JP.SJISja_jpz
ja_jp.ajecrd  rf  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;  rK   s    r-   test_japaneseNormalizeTest.test_japanese  s8   

4'

8\*

9l+

7M*

</

;.

=-0

&5

$l3

;-

<.

><0

;-

<.

</

</

7M*

:}-

>=1

>=1

?L1

7M*r<   r=   N)r>   r?   r@   rA   r0  r7  r<  rB  rE  rN  rQ  rT  rW  rZ  ra  rg  ro  rC   r=   r<   r-   r*  r*  w  sD    Q.
!):"95
<
>
(1+r<   r*  c                   l    \ rS rSrS rS r\R                  " \R                  S:H  S5      S 5       r
Srg)	TestRealLocalesi  c                     [         R                  " [         R                  5      nU R                  [         R                  [         R                  U5        g rH   )r#   r$   LC_CTYPEr6   r8   s     r-   r:   TestRealLocales.setUp  s0    $$V__5	((&//9Er<   c                 J    [         R                  " [         R                  S5        [         R
                  " [         R                  5      n[        (       a  [        SU< 3SSS9   [         R                  " [         R                  U5        U R                  U[         R
                  " [         R                  5      5        g ! [         R                   a    U R	                  S5         Nf = f! [         R                   a#  nU R	                  SU< SU< 35         S nANS nAff = f)	Ntr_TRztest needs Turkish localeztesting with r1   Tr2   zsetlocale(LC_CTYPE, z
) failed: )	r#   r$   rt  r&   skipTest	getlocaler   r7   r{   )r9   locexcs      r-   test_getsetlocale_issue1813+TestRealLocales.test_getsetlocale_issue1813  s    	7V__g6 v/7s,#TB	KV__c2 	f..v?@ || 	7MM56	7 || 	K MM0z#IJJ		Ks)   %C  &%C+  %C('C(+D"?DD"ntzrequires Windowsc                 8   U R                  [        R                  5         [        R                  " [        R                  SS-  5        S S S 5        [        R                  " [        R                  SS-  5        [        R                  " [        R
                  5      nU R                  SU5        UR                  SSS-  S5      nU R                  [        R                  5         [        R                  " [        R
                  U5        S S S 5        UR                  SSS-  S5      n[        R                  " [        R
                  U5        U R                  [        R                  5         [        R                  " [        R                  S5        S S S 5        [        R                  " [        R                  S	5        [        R                  " [        R
                  5      nU R                  S
U5        UR                  S
SS5      nU R                  [        R                  5         [        R                  " [        R
                  U5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GNe= f! , (       d  f       N= f! , (       d  f       g = f)NzEnglish.%016di  zEnglish.%015dz.1252z.%016drp   z.%015dzen_US.xxxxxxxxxxxxxxxxr   z.UTF-8z.xxxxxxxxxxxxxxxx)r	  r#   r&   r$   rt  r'  assertInreplace)r9   rz  loc2s      r-   test_setlocale_long_encoding,TestRealLocales.test_setlocale_long_encoding  s   v||,V__o.DE -/D*@Av}}-gs#{{7HtOQ7v||,V]]D1 -{{7HtOQ7- v||,V__.?@ --8v}}-h${{8\15v||,V]]D1 -,% -, -, -, -,s/   )I$&I(,&I:'&J
I%(
I7:
J
Jr=   N)r>   r?   r@   rA   r:   r|  r    
skipUnlessr   r  r  rC   r=   r<   r-   rr  rr    s8    FA& D*<=2 >2r<   rr  c                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)TestMiscellaneousi  c                    SS K nSS KnU R                  [        R                  " S5      S5        [        US5      (       a  UR                  nU?OS n0 n S H2  nXRR                  ;   d  M  UR                  U   XE'   UR                  U	 M4     SUR                  S'   [        S[        45         U R                  [        R                  " 5       S5        S S S 5        U H  nXF   UR                  U'   M     SU;  a  UR                  S	 Ub  X1l        g g ! , (       d  f       NF= f! U H  nXF   UR                  U'   M     SU;  a  UR                  S	 Ub  X1l        f f = f)Nr   UTF-8)Nr  _getdefaultlocale)r'  rt  LANGLANGUAGErt  rT   )_localer   r{   r#   _parse_localenamehasattrr  environr   DeprecationWarninggetdefaultlocale)r9   r  r   orig_getlocaleorig_envkeyks          r-   test_defaults_UTF8$TestMiscellaneous.test_defaults_UTF8  sL    	11':OL7/00$66N)!N	;A**$$&JJsOHM

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

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

1  )JJz*),:) *s+   D# *AD# ,&DD# 
D D# #9Ec                     [         R                  " 5       nU R                  U[        5        U R	                  US5        [
        R                  " U5        g r:  )r#   r  assertIsInstancer   assertNotEqualr  r  r  s     r-   test_getencoding"TestMiscellaneous.test_getencoding@  s<      "c3'C$cr<   c                     Sn[         R                  R                  [        SUS9   [	        SS/S9nU R                  UR                  5       U5        S S S 5        g ! , (       d  f       g = f)NFALLBACK_ENCODINGgetfilesystemencoding)return_valuer#   r  )blocked)r
   patchobjectr   r	   r{   r  )r9   encodinglocale_fallbacks      r-   test_getencoding_fallback+TestMiscellaneous.test_getencoding_fallbackH  s_     'ZZs$;,4  61(YKPO_88:HE6 6 6s   ,A
A)c                 j    [         R                  " 5       nU(       a  [        R                  " U5        g g rH   )r#   getpreferredencodingr  r  r  s     r-   test_getpreferredencoding+TestMiscellaneous.test_getpreferredencodingQ  s$    ))+MM# r<   c                     U R                  [        [        R                  SS 5        U R                  [        [        R                  SS 5        g )Nr     a)r	  	TypeErrorr#   r  rK   s    r-   test_strcoll_3303#TestMiscellaneous.test_strcoll_3303X  s2    )V^^S$?)V^^T4@r<   c                    [         R                  " [         R                  5        [         R                  " [         R                  5        [         R                  " [         R                  5        [         R                  " [         R
                  5        [         R                  " [         R                  5        [         R                  " [         R                  5        U R                  [         R                  [         R                  S5        g )Ni90  )
r#   r$   r'  LC_TIMErt  
LC_COLLATELC_MONETARYr%   r	  r&   rK   s    r-   test_setlocale_category)TestMiscellaneous.test_setlocale_category]  s    '()**+++,**+ 	&,,(8(8%@r<   c                     U R                  [        5         [        R                  " [        R                  S5        S S S 5        g ! , (       d  f       g = f)Ns   fi_FIr	  r  r#   r$   r'  rK   s    r-   )test_invalid_locale_format_in_localetuple;TestMiscellaneous.test_invalid_locale_format_in_localetupleh  s0    y)V]]H5 *))   &A
Ac                     U R                  [        5         [        R                  " [        R                  S5        S S S 5        g ! , (       d  f       g = f)N)s   nots   validr  rK   s    r-   $test_invalid_iterable_in_localetuple6TestMiscellaneous.test_invalid_iterable_in_localetuplel  s1    y)V]],>? *))r  r=   N)r>   r?   r@   rA   r  r  r  r  r  r  r  r  rC   r=   r<   r-   r  r    s/    #;JFA
	A6@r<   r  c                   &    \ rS rSrS rS rS rSrg)BaseDelocalizeTestiq  c                 P    U R                  [        R                  " U5      U5        g rH   )r{   r#   
delocalizer9   r~   r   s      r-   _test_delocalize#BaseDelocalizeTest._test_delocalizes  s    **5137r<   c                 P    U R                  [        R                  " U5      U5        g rH   )r{   r#   atofr  s      r-   
_test_atofBaseDelocalizeTest._test_atofv      U+S1r<   c                 P    U R                  [        R                  " U5      U5        g rH   )r{   r#   atoir  s      r-   
_test_atoiBaseDelocalizeTest._test_atoiy  r  r<   r=   N)r>   r?   r@   rA   r  r  r  rC   r=   r<   r-   r  r  q  s    822r<   r  c                   &    \ rS rSrS rS rS rSrg)TestEnUSDelocalizei}  c                 L    U R                  SS5        U R                  SS5        g )N50000.00	50,000.00r  rK   s    r-   test_delocalize"TestEnUSDelocalize.test_delocalize  "    j*5k:6r<   c                 L    U R                  SS5        U R                  SS5        g )Nr       j@r  r  rK   s    r-   	test_atofTestEnUSDelocalize.test_atof      
F+V,r<   c                 L    U R                  SS5        U R                  SS5        g )N50000r   z50,000r  rK   s    r-   	test_atoiTestEnUSDelocalize.test_atoi      '%(r<   r=   Nr>   r?   r@   rA   r  r  r  rC   r=   r<   r-   r  r  }      7-)r<   r  c                   &    \ rS rSrS rS rS rSrg)TestCDelocalizeTesti  c                 (    U R                  SS5        g Nr  r  rK   s    r-   r  #TestCDelocalizeTest.test_delocalize  s    j*5r<   c                 (    U R                  SS5        g )Nr  r  r  rK   s    r-   r  TestCDelocalizeTest.test_atof  s    
F+r<   c                 (    U R                  SS5        g )Nr  r   r  rK   s    r-   r  TestCDelocalizeTest.test_atoi  s    'r<   r=   Nr  r=   r<   r-   r  r    s    6,(r<   r  c                   &    \ rS rSrS rS rS rSrg)TestfrFRDelocalizeTesti  c                 L    U R                  SS5        U R                  SS5        g )N50000,00r  	50 000,00r  rK   s    r-   r  &TestfrFRDelocalizeTest.test_delocalize  r  r<   c                 L    U R                  SS5        U R                  SS5        g )Nr  r  r  r  rK   s    r-   r   TestfrFRDelocalizeTest.test_atof  r  r<   c                 L    U R                  SS5        U R                  SS5        g )Nr  r   z50 000r  rK   s    r-   r   TestfrFRDelocalizeTest.test_atoi  r  r<   r=   Nr  r=   r<   r-   r  r    r  r<   r  c                       \ rS rSrSS jrSrg)BaseLocalizeTesti  c                 L    U R                  [        R                  " XS9U5        g )Nr   )r{   r#   localize)r9   r~   r   rX   s       r-   _test_localizeBaseLocalizeTest._test_localize  s    BCHr<   r=   N)F)r>   r?   r@   rA   r  rC   r=   r<   r-   r  r    s    Ir<   r  c                       \ rS rSrS rSrg)TestEnUSLocalizei  c                 |    U R                  SS5        U R                  SR                  [        S5      5      S5        g )Nr  z{0:.16f}z1.15z1.1500000000000000)r  r}   r   rK   s    r-   test_localizeTestEnUSLocalize.test_localize  s6    J
3gfo.0D	Fr<   r=   Nr>   r?   r@   rA   r  rC   r=   r<   r-   r  r    s    Fr<   r  c                       \ rS rSrS rSrg)TestCLocalizei  c                 (    U R                  SS5        g r  r  rK   s    r-   r  TestCLocalize.test_localize  s    J
3r<   r=   Nr  r=   r<   r-   r  r    s    4r<   r  c                       \ rS rSrS rSrg)TestfrFRLocalizei  c                 J    U R                  SS5        U R                  SSSS9  g )Nr  r  r  Tr   r	  rK   s    r-   r  TestfrFRLocalize.test_localize  s'    J
3JdCr<   r=   Nr  r=   r<   r-   r  r    s    Dr<   r  __main__).decimalr   test.supportr   r   r   r   test.support.warnings_helperr   test.support.import_helperr	   r    r
   r#   r   r   r  TestCaser   rE   rQ   ri   rs   r  rw   r   r   r   r   r   r   r  r  r*  rr  r  r  r  r  r  r  r  r  r  r>   mainr=   r<   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Hp+H%% p+f-2h'' -2`T@)) T@n	2* 	2)); )	(+'9 	()^-? )I( IF~'7 F4K!1 4D~'7 D zMMO r<   