
    Mh                     ^   S SK r S SKrS SKrS SKrS SKJrJrJr  S SKJ	r	  S SK
r\" 5       r\R                  " \R                  5      r\R                   R#                  \(       + SS9r\R                   R#                  \" \5      S:*  SS9r\R                  4S\S	\4S
 jjr\R                   R1                  S\R                  \R2                  \R4                  45      S 5       r\R                   R1                  S\R                  \R2                  \R4                  45      S 5       r\R                   R1                  S\R                  \R2                  \R:                  " \R4                  \R                   R#                  \	SS9S945      S 5       r\R                   R1                  S/ SQ5      \R                   R1                  S\R                  \R2                  \R4                  45      S 5       5       rS r S r!\S 5       r"\\R                   R1                  S/ SQ5      S 5       5       r#S r$g)    N)can_set_localeget_locales
set_locale)ISMUSLzNeed locales)reason   z)Need multiple locales for meaningful testlc_varreturnc                 .    [         R                  " U 5      $ N)locale	setlocaler	   s    W/var/www/html/env/lib/python3.13/site-packages/pandas/tests/config/test_localization.py_get_current_localer      s    F##    c                 ^    [        U 5      n[        XS9(       d   e[        U 5      nX:X  d   eg )Nr   r   r   r	   before_localeafter_locales      r   test_can_set_current_localer   !   s2     (/M-777&v.L(((r   c                 `    [        U 5      n[        SU S9(       d   e[        U 5      nX:X  d   eg )N r   r   r   s      r   test_can_set_locale_valid_setr   *   s4     (/M"V,,,&v.L(((r   z$MUSL allows setting invalid LC_TIME.)marksc                 `    [        U 5      n[        SU S9(       a   e[        U 5      nX:X  d   eg )Nznon-existent_localer   r   r   s      r   test_can_set_locale_invalid_setr   3   s5     (/M3FCCC&v.L(((r   zlang,enc))it_CHzUTF-8)en_USascii)zh_CNGB2312)it_ITz
ISO-8859-1c                 t    [        U5      n[        X4[        R                  5        [        U5      nX4:X  d   eg r   )r   r   r   LC_ALL)langencr	   r   r   s        r   test_can_set_locale_no_leakr)   H   s4     (/MD;.&v.L(((r   c                     S nU R                  5        nUR                  [        SU5        [        S5      (       a   e S S S 5        g ! , (       d  f       g = f)Nc                      [        5       er   )
ValueError r   r   mock_get_locale8test_can_set_locale_invalid_get.<locals>.mock_get_locale_   s
    lr   	getlocaler   )contextsetattrr   r   )monkeypatchr.   ms      r   test_can_set_locale_invalid_getr5   Z   sG    
 
			!			&+7!"%%%%% 
		s   *A
Ac                  .    [        [        5      S:  d   eg )Nr   )len_all_localesr-   r   r   test_get_locales_at_least_oner9   g   s    |q   r   c                  L    [         S   n [        [        U S S S95      S:  d   eg )Nr      )prefix)r8   r7   r   )first_locales    r   test_get_locales_prefixr>   l   s*    ?L{,r"234q888r   c                 2   [        5       n[        R                  " U5      R                  nX4n[	        U5      (       dD  Sn[
        R                  " [        R                  US9   [        U5          S S S 5        S S S 5        OR[        U5       nUR                  S5      u  pg[        R                  " U5      R                  nXg4nXS:X  d   e S S S 5        [        5       nX(:X  d   eg ! , (       d  f       N{= f! , (       d  f       N1= f! , (       d  f       NB= f)Nzunsupported locale setting)match.)r   codecslookupnamer   pytestraisesr   Errorr   split)	r'   r(   r   
new_localemsgnormalized_localenew_langnew_encr   s	            r   test_set_localerN   r   s     ()M
--

!
!CJ*%%*]]6<<s3J' ( 43 
#'8 1 7 7 <HmmC(--G ( 1$222 $ '(L((( (' 43 $#s0   #C7/C&1C7>D&
C4	0C77
D
Dc                  H   [         R                  R                  S5      n U (       a  U R                  S5      S   OSn[        R
                  " [        R                  R                  R                  5      R                  [        R
                  " U5      R                  :X  d   eg )Nr&   rA   zutf-8)osenvirongetrH   rB   rC   pdoptionsdisplayencodingrD   )system_localesystem_encodings     r   test_encoding_detectedrZ      sr    JJNN8,M6Cm))#.r2O 	bjj((11277==)..	/	/r   )%rB   r   rQ   rE   pandas._config.localizationr   r   r   pandas.compatr   pandasrT   r8   r   r&   _current_localemarkskipif
pytestmarkr7   _skip_if_only_one_localeintstrr   parametrizeLC_CTYPELC_TIMEr   r   paramr   r)   r5   r9   r>   rN   rZ   r-   r   r   <module>ri      s-     	   ! }""6==1 [[L 0H
!;;--#N .  
 '-mm $ $ $
 FMM6??FNN#ST) U) FMM6??FNN#ST) U) NN++$$E % 	
	))  FMM6??FNN#ST) U)
&!
 9 9
 ) )2r   