python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_utf8_mode.cpython-311.pyc

e?)dZddlZddlZddlZddlZddlZddlmZddlm	Z	m
Z
ddlmZm
Z
dZejdkZGdd	ejZed
krejdSdS)z9
Test the implementation of the PEP 540: the UTF-8 Mode.
N)support)assert_python_okassert_python_failure)	os_helper
MS_WINDOWS)CPOSIXvxworksc6eZdZddddZdZdddZejedd	Z	d
Z
dZdZd
Z
dZddZdZdZdZdZejeddZdZejedejdZdS)
UTF8ModeTests0)
PYTHONUTF8PYTHONLEGACYWINDOWSFSENCODINGPYTHONCOERCECLOCALEcRtjtjd}|tvS)N)locale	setlocaleLC_CTYPE
POSIX_LOCALES)selflocs  G/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_utf8_mode.pyposix_localezUTF8ModeTests.posix_locales!v55}$%F)failurect|jfi|}|rt|i|}|d}nt|i|}|d}|dS)Nz

)dictDEFAULT_ENVrrdecoderstrip)rrargskwouts     r
get_outputzUTF8ModeTests.get_outputsv
$"
)
)b
)
)	'444Ca&CC"D/B//Ca&Czz||""6***rzWindows has no POSIX localecd}tD]^}||5|d||}||ddddn#1swxYwY_dS)N&import sys; print(sys.flags.utf8_mode)LC_ALL-c1)rsubTestr'assertEqual)rcoderr&s    rtest_posix_localezUTF8ModeTests.test_posix_locale's7 	+	+CS))
+
+oodDo==  c***
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	+	+s/AA!	$A!	cd}|ddd|}||d|ddd|}||d|ddd|}||dtr2|ddd|d	}||ddSdS)
Nr)-Xutf8r,r-zutf8=1utf8=0r)r)r'r/rrr0r&s   rtest_xoptionzUTF8ModeTests.test_xoption0s7oodFD$77c"""oodHdD99c"""oodHdD99c"""	'//$d@C"EECS#&&&&&	'	'rcd}|d|d}||d|d|d}||d|ddd|d}||dtr1|ddd|dd	}||d|s/|d
d|d}||d|d|dd
}|d|dS)Nr)r,r-rrr3r5r4rr-ExxxT)rrz-invalid PYTHONUTF8 environment variable value)r'r/rrassertInr#r6s   rtest_env_varzUTF8ModeTests.test_env_varDsi7oodDSo99c"""oodDSo99c"""oodHdDSoIIc"""	'//$ds@C"EECS#&&&  ""	'//$ds/CCCS#&&&oodDUDoII

Ejjll	$	$	$	$	$rctjd}trd}nd}|ddd|}|||tr3|ddd|dd	}||d
dSdS)Nz
            import sys
            print("{}/{}".format(sys.getfilesystemencoding(),
                                 sys.getfilesystemencodeerrors()))
        zutf-8/surrogatepasszutf-8/surrogateescaper3r4r,strictr-r:zmbcs/replace)textwrapdedentrr'r/)rr0expectedr&s    rtest_filesystemencodingz%UTF8ModeTests.test_filesystemencodingds 

	/,HH.HoodFD$77h'''	2//$d-5@C"EEC
S.11111
	2	2rctjd}|ddd|d}||gd|ddd|d}||gd	|ddd|d
}||gddS)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}")
        r3r4r,r
)PYTHONIOENCODING)zstdin: utf-8/surrogateescapezstdout: utf-8/surrogateescapestderr: utf-8/backslashreplacelatin1)zstdin: iso8859-1/strictzstdout: iso8859-1/strictz"stderr: iso8859-1/backslashreplacez:namereplace)zstdin: utf-8/namereplacezstdout: utf-8/namereplacerG)rArBr'r/
splitlinesr6s   r
test_stdiozUTF8ModeTests.test_stdio{s0 

oodFD$/133))<<<	=	=	=oodFD$/799))@@@	A	A	A
oodFD$/=??))<<<	=	=	=	=	=rctjd}t}|d||d}||ddS)Nz
            import sys
            filename = sys.argv[1]
            with open(filename) as fp:
                print(f"{fp.encoding}/{fp.errors}")
        r,r-r9zutf-8/strict)rArB__file__r'r/lower)rr0filenamer&s    rtest_iozUTF8ModeTests.test_ios\ 

oodD(soCCn55555rNctt}g}|r|d||r|d|tjd|d|fz}|d||d}|sd}|sd	}|||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-r9utf-8r@/)rLappendrArBjoinr'r/rM)rmoduleencodingerrorsrNr$r0r&s        r_check_io_encodingz UTF8ModeTests._check_io_encodings	2KK0H00111	.KK,&,,--- 

		$(
)oodD(),..	H	F&<&<F&<&<=====rc||d||d||dddS)NrHrVnamereplace)rW)rVrW)rX)rrUs  rcheck_io_encodingzUTF8ModeTests.check_io_encodingsg:::}===)1-	 	I	I	I	I	Irc0|ddS)Nior\rs rtest_io_encodingzUTF8ModeTests.test_io_encodingst$$$$$rc0|ddS)N_pyior_r`s rtest_pyio_encodingz UTF8ModeTests.test_pyio_encodingsw'''''rc	6d}|ddd|}||dtD]`}||5|ddd||}||ddddn#1swxYwYadS)Nz[import locale; print(locale.getpreferredencoding(False), locale.getpreferredencoding(True))r3r4r,zutf-8 utf-8r*)r'r/rr.)rr0r&rs    r test_locale_getpreferredencodingz.UTF8ModeTests.test_locale_getpreferredencodingsloodFD$77m,,, 	5	5CS))
5
5oodFD$soKK  m444
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5	5	5s1B

B	B	ztest specific to Unixcddd}dd}dfd}|d|gtD]?}|5|d|g|dddn#1swxYwY@tjd	kstjstr|}n7tj	d
rd}n|}tD]?}|5|d|g|dddn#1swxYwY@dS)
Nuhé€rQasciisurrogateescapezYimport locale, sys; print("%s:%s" % (locale.getpreferredencoding(), ascii(sys.argv[1:])))cjd|dfi|}|dd}|t	||dS)Nr3r,:r)r'	partitionr#r/rh)utf8_optrCr%r&r$argr0rs     rcheckz*UTF8ModeTests.test_cmd_line.<locals>.checksj!$/$$cHHRHHC==%%a(//11DT5??C88888rr4r*darwinaixz
iso-8859-1r5)
encoder"rr.sysplatformr
is_androidVXWORKS
startswith)rarg_utf8	arg_asciirorc_argrnr0s`     @@r
test_cmd_linezUTF8ModeTests.test_cmd_lines""7++::g&&JJw(9::	j	9	9	9	9	9	9	9
	fxj!!! 	6	6CS))
6
6fxj5555
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6<8##w'9#W#EE
\
$
$U
+
+	JJ|,,EEE 	5	5CS))
5
5h4444
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5	5	5s$9BB	B	D99D=	D=	c(d}|dddd|}||d|dddd|}||dd	}|ddd
d|}||ddS)Nz%import sys; print(sys.flags.optimize)r3r4z-Or,r-z-OO2z/import sys; print(sys.flags.ignore_environment)r;)r'r/r6s   rtest_optim_levelzUTF8ModeTests.test_optim_levels
7oodFD$==c"""oodFE4>>c"""@oodFD$==c"""""rz@os.device_encoding() doesn't implement the UTF-8 Mode on Windowsctjs|dd}|t
j|d|d}tjddd|g}tj	|d	}|
|jd
|t|d5}|
}dddn#1swxYwY|
|ddS)
Nzsys.stdout is not a TTYzout.txtz5import os, sys; fd = sys.stdout.fileno(); out = open(z], "w", encoding="utf-8"); print(os.isatty(fd), os.device_encoding(fd), file=out); out.close()r3r4r,T)textrrZz
True utf-8)rsstdoutisattyskipTest
addCleanuprunlink
executable
subprocessrunr/
returncodeopenreadr#)rrNr0cmdprocfpr&s       rtest_device_encodingz"UTF8ModeTests.test_device_encodings@z  ""	5MM3444	((333&~tVT48~c---!T222(V
,
,
,	%''))""$$C	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%l+++++s0'C##C'*C')NN)__name__
__module____qualname__r!rr'unittestskipIfrr1r7r>rDrJrOrXr\rardrfr{r~rrequires_subprocessrrrrrs)+"K&&&).+++++X_Z!>??++@?+'''($$$@222.===<
6
6
6>>>>2III%%%(((555X_Z!89955:954
#
#
#X_Z122!W "",,#"22,,,rr__main__)__doc__rrrsrArtestrtest.support.script_helperrrtest.supportrrrrtrvTestCaserrmainrrr<module>rs






NNNNNNNN........
<9$D,D,D,D,D,H%D,D,D,NzHMOOOOOr