
    d                        d dl Z d dlZd dlZd dlZd dlmZmZmZ d dlZ	 e            Z
 ej        ej                  Zej                            e
 d          Zej                             ee
          dk    d          Zej        fdedefd	Zej                            dej        ej        ej        f          d
             Zej                            dej        ej        ej        f          d             Zej                            dej        ej        ej        f          d             Zej                            dg d          ej                            dej        ej        ej        f          d                         Zd Zd Zed             Zeej                            dg d          d                         Z d Z!dS )    N)can_set_localeget_locales
set_localezNeed locales)reason   z)Need multiple locales for meaningful testlc_varreturnc                 *    t          j        |           S N)locale	setlocaler   s    a/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/config/test_localization.py_get_current_localer      s    F###    c                 x    t          |           }t          ||           sJ t          |           }||k    sJ d S )Nr   r   r   r   before_localeafter_locales      r   test_can_set_current_localer      sN     (//M-777777&v..LL((((((r   c                 x    t          |           }t          d|           sJ t          |           }||k    sJ d S )N r   r   r   s      r   test_can_set_locale_valid_setr   (   sN     (//M"V,,,,,,&v..LL((((((r   c                 x    t          |           }t          d|           rJ t          |           }||k    sJ d S )Nznon-existent_localer   r   r   s      r   test_can_set_locale_invalid_setr   1   sO     (//M3FCCCCCC&v..LL((((((r   zlang,enc))it_CHzUTF-8)en_USascii)zh_CNGB2312)it_ITz
ISO-8859-1c                     t          |          }t          | |ft          j                   t          |          }||k    sJ d S r   )r   r   r   LC_ALL)langencr   r   r   s        r   test_can_set_locale_no_leakr'   :   sK     (//MD#;...&v..LL((((((r   c                     d }|                                  5 }|                    t          d|           t          d          rJ 	 d d d            d S # 1 swxY w Y   d S )Nc                      t                      r   )
ValueError r   r   mock_get_localez8test_can_set_locale_invalid_get.<locals>.mock_get_localeQ   s    llr   	getlocaler   )contextsetattrr   r   )monkeypatchr,   ms      r   test_can_set_locale_invalid_getr2   L   s    
   
				 &!			&+777!"%%%%%%& & & & & & & & & & & & & & & & & &s   .AAAc                  :    t          t                    dk    sJ d S )Nr   )len_all_localesr+   r   r   test_get_locales_at_least_oner6   Y   s!    |q      r   c                  v    t           d         } t          t          | d d                             dk    sJ d S )Nr      )prefix)r5   r4   r   )first_locales    r   test_get_locales_prefixr;   ^   s>    ?L{,rr"233344q888888r   c                 6   t                      }t          j        |          j        }| |f}t	          |          scd}t          j        t          j        |          5  t          |          5  	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   net          |          5 }|
                    d          \  }}t          j        |          j        }||f}||k    sJ 	 d d d            n# 1 swxY w Y   t                      }||k    sJ d S )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_localerK   d   s    ())M
-


!CsJ*%% 3*]6<s333 	 	J''                	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
## 	3'8 1 7 7 < <HgmC((-G (' 1$
22222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 '((LL((((((sH   B-A;/B;A?	?BA?	BBB->C88C<?C<c                     t           j                            d          } | r|                     d          d         nd}t	          j        t          j        j        j	                  j
        t	          j        |          j
        k    sJ d S )Nr$   r>   zutf-8)osenvirongetrE   r?   r@   pdoptionsdisplayencodingrA   )system_localesystem_encodings     r   test_encoding_detectedrW      s    JNN8,,M6CPm))#..r22O 	bj(1227=)).	/ 	/ 	/ 	/ 	/ 	/r   )"r?   r   rN   rB   pandas._config.localizationr   r   r   pandasrQ   r5   r   r$   _current_localemarkskipif
pytestmarkr4   _skip_if_only_one_localeintstrr   parametrizeLC_CTYPELC_TIMEr   r   r   r'   r2   r6   r;   rK   rW   r+   r   r   <module>rd      s     				              {}}"&"6=11 [L 0HH
!;--C#N .   
 '-m $ $ $ $ $ $ $
 FM6?FN#STT) ) UT) FM6?FN#STT) ) UT) FM6?FN#STT) ) UT)     FM6?FN#STT) ) UT )
& 
& 
&! ! !
 9 9 9
    ) )  )2    r   