HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/test/__pycache__/test_utf8_mode.cpython-37.opt-2.pyc
B

��g�$�@sxddlZddlZddlZddlZddlZddlmZddlmZm	Z	ej
dkZdZGdd�dej
�Zedkrte��dS)	�N)�support)�assert_python_ok�assert_python_failure�win32)�CZPOSIXc@s�eZdZdddd�Zdd�Zdd�dd	�Ze�ed
�dd��Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zd&dd�Zdd�Zdd�Zdd�Zdd �Ze�ed!�d"d#��Zd$d%�ZdS)'�
UTF8ModeTests��0)�
PYTHONUTF8�PYTHONLEGACYWINDOWSFSENCODINGZPYTHONCOERCECLOCALEcCst�tjd�}|tkS)N)�locale�	setlocale�LC_CTYPE�
POSIX_LOCALES)�self�loc�r�//usr/local/lib/python3.7/test/test_utf8_mode.py�posix_localeszUTF8ModeTests.posix_localeF)�failurecOsFt|jf|�}|r&t||�}|d}nt||�}|d}|���d�S)N��z

)�dict�DEFAULT_ENVrr�decode�rstrip)rr�args�kw�outrrr�
get_outputs


zUTF8ModeTests.get_outputzWindows has no POSIX localec
CsJd}x@tD]8}|j|d��"|jd||d�}|�|d�WdQRXq
WdS)Nz&import sys; print(sys.flags.utf8_mode))�LC_ALLz-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)
Nz&import sys; print(sys.flags.utf8_mode)z-X�utf8z-cr!zutf8=1zutf8=0r	)r)rr#�
MS_WINDOWS)rr$rrrr�test_xoption0s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)Nz&import sys; print(sys.flags.utf8_mode)z-cr!)r
r	z-Xzutf8=0r&)r
rz-EZxxxT)r
rz-invalid PYTHONUTF8 environment variable value)rr#r'rZassertInr)rr$rrrr�test_env_varDs"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/surrogateescapez-Xr&z-c�strictr!)r
rzmbcs/replace)�textwrap�dedentr'rr#)rr$�expectedrrrr�test_filesystemencodingdsz%UTF8ModeTests.test_filesystemencodingcCs�t�d�}|jddd|dd�}|�|��ddd	g�|jddd|d
d�}|�|��ddd
g�|jddd|dd�}|�|��ddd	g�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}")
        z-Xr&z-cr)ZPYTHONIOENCODINGzstdin: utf-8/surrogateescapezstdout: utf-8/surrogateescapezstderr: utf-8/backslashreplace�latin1zstdin: latin1/strictzstdout: latin1/strictzstderr: latin1/backslashreplacez:namereplacezstdin: utf-8/namereplacezstdout: utf-8/namereplace)r+r,rr#�
splitlines)rr$rrrr�
test_stdio{s(


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}")
        z-cr!)r
zUTF-8/strict)r+r,�__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, z-cr!)r
zUTF-8r*�/)r2�appendr+r,�joinrr#)r�module�encoding�errorsr3rr$rrrr�_check_io_encoding�s
z UTF8ModeTests._check_io_encodingcCs0|j|dd�|j|dd�|j|ddd�dS)Nr/)r9�namereplace)r:)r9r:)r;)rr8rrr�check_io_encoding�szUTF8ModeTests.check_io_encodingcCs|�d�dS)N�io)r=)rrrr�test_io_encoding�szUTF8ModeTests.test_io_encodingcCs|�d�dS)NZ_pyio)r=)rrrrr?�sc
Csjd}|�ddd|�}|�|d�xDtD]<}|j|d��&|jddd||d�}|�|d�WdQRXq&WdS)Nz[import locale; print(locale.getpreferredencoding(False), locale.getpreferredencoding(True))z-Xr&z-czUTF-8 UTF-8)r )rr#rr")rr$rrrrr� test_locale_getpreferredencoding�s
z.UTF8ModeTests.test_locale_getpreferredencodingztest specific to Unixc
s�d�d����d�}��dd�}d����fdd�}|d|g�x4tD],}�j|d	��|d|g|d	�WdQRXqFWtjd
ks�tjr�|}ntj�d�r���d�}n|}x4tD],}�j|d	��|d
|g|d	�WdQRXq�WdS)Nuhé€zutf-8�ascii�surrogateescapezYimport locale, sys; print("%s:%s" % (locale.getpreferredencoding(), ascii(sys.argv[1:])))cs>�jd|d��f|�}|�d�d��}��|t|�|�dS)Nz-Xz-c�:r)r�	partitionrr#rA)Zutf8_optr-rrr)�argr$rrr�check�sz*UTF8ModeTests.test_cmd_line.<locals>.checkr&)r �darwinZaixz
iso-8859-1zutf8=0)	�encoderrr"�sys�platformrZ
is_android�
startswith)rZarg_utf8Z	arg_asciirFrZc_argr)rEr$rr�
test_cmd_line�s"



zUTF8ModeTests.test_cmd_linecCsfd}|�dddd|�}|�|d�|�dddd|�}|�|d�d	}|�ddd
d|�}|�|d�dS)Nz%import sys; print(sys.flags.optimize)z-Xr&z-Oz-cr!z-OO�2z/import sys; print(sys.flags.ignore_environment)z-E)rr#)rr$rrrr�test_optim_level�szUTF8ModeTests.test_optim_level)NN)�__name__�
__module__�__qualname__rrr�unittestZskipIfr'r%r(r)r.r1r4r;r=r?r@rLrNrrrrrs$
	 

r�__main__)r�osrIr+rRZtestrZtest.support.script_helperrrrJr'rZTestCaserrO�mainrrrr�<module>s
n