
    bMh                        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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        ej        ej                            e	d                    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_locale)ISMUSLzNeed locales)reason   z)Need multiple locales for meaningful testlc_varreturnc                 *    t          j        |           S N)locale	setlocaler	   s    e/var/www/html/test/jupyter/venv/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   z$MUSL allows setting invalid LC_TIME.)marksc                 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   3   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)   H   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_locale_   s    llr   	getlocaler   )contextsetattrr   r   )monkeypatchr.   ms      r   test_can_set_locale_invalid_getr4   Z   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_oner8   g   s!    |q      r   c                  v    t           d         } t          t          | d d                             dk    sJ d S )Nr      )prefix)r7   r6   r   )first_locales    r   test_get_locales_prefixr=   l   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_localerM   r   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getrG   rA   rB   pdoptionsdisplayencodingrC   )system_localesystem_encodings     r   test_encoding_detectedrY      s    JNN8,,M6CPm))#..r22O 	bj(1227=)).	/ 	/ 	/ 	/ 	/ 	/r   )%rA   r   rP   rD   pandas._config.localizationr   r   r   pandas.compatr   pandasrS   r7   r   r&   _current_localemarkskipif
pytestmarkr6   _skip_if_only_one_localeintstrr   parametrizeLC_CTYPELC_TIMEr   r   paramr   r)   r4   r8   r=   rM   rY   r-   r   r   <module>rh      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) N+$$E %  	
 	
 	
	 ) ) )     FM6?FN#STT) ) UT )
& 
& 
&! ! !
 9 9 9
    ) )  )2    r   