Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_utf8_mode.cpython-39.pyc

a

��g�$�@s~dZddlZddlZddlZddlZddlmZddlmZm	Z	ej
dkZdZej
dkZ
Gdd	�d	ej�Zed
krze��dS)z9
Test the implementation of the PEP 540: the UTF-8 Mode.
�N)�support)�assert_python_ok�assert_python_failure�win32)�CZPOSIXZvxworksc@s�eZdZdddd�Zdd�Zdd�dd	�Ze�ed
�dd��Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zd'dd�Zdd�Zdd�Zdd�Zd d!�Ze�ed"�d#d$��Zd%d&�ZdS)(�
UTF8ModeTests��0)�
PYTHONUTF8�PYTHONLEGACYWINDOWSFSENCODINGZPYTHONCOERCECLOCALEcCst�tjd�}|tvS)N)�locale�	setlocale�LC_CTYPE�
POSIX_LOCALES)�self�loc�r�//usr/local/lib/python3.9/test/test_utf8_mode.py�posix_localeszUTF8ModeTests.posix_localeF)�failurecOsRt|jfi|��}|r.t|i|��}|d}nt|i|��}|d}|���d�S)N��z

)�dict�DEFAULT_ENVrr�decode�rstrip)rr�args�kw�outrrr�
get_outputs
zUTF8ModeTests.get_outputzWindows has no POSIX localec	CsZd}tD]L}|j|d��,|jd||d�}|�|d�Wd�q1sJ0YqdS)N�&import sys; print(sys.flags.utf8_mode)��LC_ALL�-c�1)r�subTestr�assertEqual)r�coderrrrr�test_posix_locale&s
zUTF8ModeTests.test_posix_localecCs�d}|�ddd|�}|�|d�|�ddd|�}|�|d�|�ddd|�}|�|d�tr||jddd|dd	�}|�|d�dS)
Nr �-X�utf8r#r$zutf8=1�utf8=0r	)r)rr&�
MS_WINDOWS�rr'rrrr�test_xoption/s�zUTF8ModeTests.test_xoptioncCs�d}|jd|dd�}|�|d�|jd|dd�}|�|d�|jddd|dd�}|�|d�tr�|jddd|ddd	�}|�|d�|��s�|jd
d|dd�}|�|d�|jd|ddd
�}|�d|���dS)Nr r#r$�r
r	r)r+r*�r
r�-EZxxxT)r
rz-invalid PYTHONUTF8 environment variable value)rr&r,rZassertInrr-rrr�test_env_varCs&��zUTF8ModeTests.test_env_varcCs^t�d�}trd}nd}|�ddd|�}|�||�trZ|jddd|ddd	�}|�|d
�dS)Nz�
            import sys
            print("{}/{}".format(sys.getfilesystemencoding(),
                                 sys.getfilesystemencodeerrors()))
        zutf-8/surrogatepasszutf-8/surrogateescaper)r*r#�strictr$r0zmbcs/replace)�textwrap�dedentr,rr&)rr'�expectedrrrr�test_filesystemencodingcs
�z%UTF8ModeTests.test_filesystemencodingcCs�t�d�}|jddd|dd�}|�|��gd��|jddd|dd�}|�|��gd	��|jddd|d
d�}|�|��gd��dS)Nz�
            import sys
            print(f"stdin: {sys.stdin.encoding}/{sys.stdin.errors}")
            print(f"stdout: {sys.stdout.encoding}/{sys.stdout.errors}")
            print(f"stderr: {sys.stderr.encoding}/{sys.stderr.errors}")
        r)r*r#r)ZPYTHONIOENCODING)zstdin: utf-8/surrogateescapezstdout: utf-8/surrogateescape�stderr: utf-8/backslashreplace�latin1)zstdin: iso8859-1/strictzstdout: iso8859-1/strictz"stderr: iso8859-1/backslashreplacez:namereplace)zstdin: utf-8/namereplacezstdout: utf-8/namereplacer8)r4r5rr&�
splitlinesr-rrr�
test_stdiozs&
�
��
��
�zUTF8ModeTests.test_stdiocCs0t�d�}t}|jd||dd�}|�|d�dS)Nz�
            import sys
            filename = sys.argv[1]
            with open(filename) as fp:
                print(f"{fp.encoding}/{fp.errors}")
        r#r$r/zUTF-8/strict)r4r5�__file__rr&)rr'�filenamerrrr�test_io�s
zUTF8ModeTests.test_ioNcCs�t}g}|r|�d|���|r0|�d|���t�d�|d�|�f}|jd||dd�}|sbd}|sjd	}|�||�d
|���dS)Nz	encoding=zerrors=z�
            import sys
            from %s import open
            filename = sys.argv[1]
            with open(filename, %s) as fp:
                print(f"{fp.encoding}/{fp.errors}")
        z, r#r$r/zUTF-8r3�/)r<�appendr4r5�joinrr&)r�module�encoding�errorsr=rr'rrrr�_check_io_encoding�s"�
�z UTF8ModeTests._check_io_encodingcCs0|j|dd�|j|dd�|j|ddd�dS)Nr9)rC�namereplace)rD)rCrD)rE)rrBrrr�check_io_encoding�s
�zUTF8ModeTests.check_io_encodingcCs|�d�dS)N�io�rG�rrrr�test_io_encoding�szUTF8ModeTests.test_io_encodingcCs|�d�dS)NZ_pyiorIrJrrr�test_pyio_encoding�sz UTF8ModeTests.test_pyio_encodingc	Cszd}|�ddd|�}|�|d�tD]P}|j|d��0|jddd||d�}|�|d�Wd�q$1sj0Yq$dS)Nz[import locale; print(locale.getpreferredencoding(False), locale.getpreferredencoding(True))r)r*r#zUTF-8 UTF-8r!)rr&rr%)rr'rrrrr� test_locale_getpreferredencoding�sz.UTF8ModeTests.test_locale_getpreferredencodingztest specific to Unixc	sd�d����d�}��dd�}d����fdd�}|d|g�tD]@}�j|d	�� |d|g|d	�Wd�qD1sz0YqDtjd
ks�tjs�tr�|}ntj�	d�r���d�}n|}tD]@}�j|d	�� |d
|g|d	�Wd�q�1s�0Yq�dS)Nuhé€zutf-8�ascii�surrogateescapezYimport locale, sys; print("%s:%s" % (locale.getpreferredencoding(), ascii(sys.argv[1:])))csB�jd|d��fi|��}|�d�d��}��|t|�|�dS)Nr)r#�:r)r�	partitionrr&rN)Zutf8_optr6rrr��argr'rrr�check�sz*UTF8ModeTests.test_cmd_line.<locals>.checkr*r!�darwinZaixz
iso-8859-1r+)
�encoderrr%�sys�platformrZ
is_android�VXWORKS�
startswith)rZarg_utf8Z	arg_asciirTrZc_argrrRr�
test_cmd_line�s"

0zUTF8ModeTests.test_cmd_linecCsfd}|�dddd|�}|�|d�|�dddd|�}|�|d�d	}|�ddd
d|�}|�|d�dS)Nz%import sys; print(sys.flags.optimize)r)r*z-Or#r$z-OO�2z/import sys; print(sys.flags.ignore_environment)r1)rr&r-rrr�test_optim_level�szUTF8ModeTests.test_optim_level)NN)�__name__�
__module__�__qualname__rrr�unittestZskipIfr,r(r.r2r7r;r>rErGrKrLrMr[r]rrrrrs*�


 



r�__main__)�__doc__rrWr4ra�testrZtest.support.script_helperrrrXr,rrYZTestCaserr^�mainrrrr�<module>s

n

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists