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.10/test/__pycache__/test_multibytecodec.cpython-310.pyc
o

�i?�@sddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZgd�ZGdd�dej
�ZGdd	�d	ej
�ZGd
d�dej
�ZGdd
�d
ej
�ZGdd�dej
�ZGdd�dej
�ZGdd�dej
�ZGdd�de�Zedkre��dSdS)�N)�support)�	os_helper)�TESTFN)�gb2312�gbk�gb18030�hz�	big5hkscs�cp932�	shift_jis�euc_jp�euc_jisx0213�shift_jisx0213�euc_jis_2004�shift_jis_2004�cp949�euc_kr�johab�big5�cp950�
iso2022_jp�iso2022_jp_1�iso2022_jp_2�iso2022_jp_2004�iso2022_jp_3�iso2022_jp_ext�
iso2022_krc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�Test_MultibyteCodeccCsDtD]}|�d�|�d�|�td|�d�|�d�|�d�qdS)N��)�ALL_CJKENCODINGS�assertEqual�decode�str�encode��self�enc�r(�5/usr/local/lib/python3.10/test/test_multibytecodec.py�test_nullcoding#s
�z#Test_MultibyteCodec.test_nullcodingcCs tD]}|�d�|�d�qdS)N�abcd�abcd)r r!r$r%r(r(r)�test_str_decode)s�z#Test_MultibyteCodec.test_str_decodecCs2t�d�}dd�}t�d|�|�t|dd�dS)Nzeuc-krcSsdtjdfS)Nr�)�sys�maxsize)�excr(r(r)�<lambda>/szBTest_MultibyteCodec.test_errorcallback_longindex.<locals>.<lambda>ztest.cjktestsapple�ham�spam)�codecs�
getdecoder�register_error�assertRaises�
IndexError)r&ZdecZ	myreplacer(r(r)�test_errorcallback_longindex-s
�z0Test_MultibyteCodec.test_errorcallback_longindexcCs4d}t�dtj�tD]}|�|�|d�d�qdS)Nu,����������������������������������������������������������������������������������������������������ztest.ignorer)r3r5�
ignore_errorsr r!r$)r&�datar'r(r(r)� test_errorcallback_custom_ignore4s
�z4Test_MultibyteCodec.test_errorcallback_custom_ignorec	Cs:ztD]}d�|�}t|�qWt�t�dSt�t�w)Nz
# coding: {}
)r �format�execr�unlinkr)r&r'�coder(r(r)�test_codingspec;s

�z#Test_MultibyteCodec.test_codingspeccCs$|�ttjd�|�ttjd�dS�N)r6�AttributeError�_multibytecodecZMultibyteStreamReaderZMultibyteStreamWriter�r&r(r(r)�test_init_segfaultCs��z&Test_MultibyteCodec.test_init_segfaultcCs"tD]}|�tt�|�d�qdS�Nr)r r6�	TypeErrorr3r4r%r(r(r)�test_decode_unicodeJs�z'Test_MultibyteCodec.test_decode_unicodeN)
�__name__�
__module__�__qualname__r*r-r8r;r@rErHr(r(r(r)r!src@sbeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zej
dd��ZdS)�Test_IncrementalEncodercCs�t�d��}|�|�d�d�|�|��d�|�|�dd�d�|�|��d�|�|�dd�d�|�|�dd	�d�|�|��d�dS)
Nru파이썬 마을s��̽� ����u	☆∼☆Ts�١���rrF�r3�getincrementalencoderr!r$�reset�r&�encoderr(r(r)�test_statelessQs��z&Test_IncrementalEncoder.test_statelesscCs�t�d��}|�|�d�d�|�|�d�d�|�|�d�d�|�|�dd�d�|�|��d�|�|�d�d	�|�|�d�d�|�|�d
d�d�|�|�d
d�d�dS)N�jisx0213�æ̀���ær�̀T������rrMrPr(r(r)�
test_stateful^sz%Test_IncrementalEncoder.test_statefulcCs�t�d��}|�|�d�d�|�t|jd�|�|�d�d�|�t|jd�|�|��d�|�|�d�d�|�|�d�d�|�t|jd�|�|�d	d
�d�dS)NrSrVruģùærUrWrYrTrX)r3rNr!r$r6�UnicodeEncodeErrorrOrPr(r(r)�test_stateful_keep_bufferqsz1Test_IncrementalEncoder.test_stateful_keep_buffercCs�t�d��}|��}|�|�d�d�|�|�|�|�d�d�|�|�d�d�|��}|�|�d�d�|�|�|�|�d�d�dS)NrrTrUrVrrW)r3rN�getstater!r$�setstate)r&rQZ
initial_stateZ
partial_stater(r(r)�$test_state_methods_with_buffer_state}s

z<Test_IncrementalEncoder.test_state_methods_with_buffer_statecCs�t�d��}|�|�d�d�|��}|�|�d�d�|��}|�|�d�d�|�|�|�|�d�d�|�|�|�|�d�d�dS)Nr�z�z�あs$B$"s(Bzs$")r3rNr!r$r]r^)r&rQZen_stateZjp_stater(r(r)�(test_state_methods_with_non_buffer_state�s

z@Test_IncrementalEncoder.test_state_methods_with_non_buffer_statecCs�t�d��}|�|��d�|�d�|�|��t�dd��|�d�|�|��d�t�d��}|�|��t�dd��|�d	�|�|��t�d
d��dS)NrrrVsæ�littlerWrs	BBrbs	�B)r3rNr!r]r$�int�
from_bytes)r&Zbuffer_state_encoderZnon_buffer_state_encoderr(r(r)�$test_getstate_returns_expected_value�s2

��

��

��z<Test_IncrementalEncoder.test_getstate_returns_expected_valuecC�,t�d��}t�dd�}|�t|j|�dS)Nrs	rd)r3rNrerfr6�UnicodeErrorr^)r&rQZpending_size_niner(r(r)�"test_setstate_validates_input_size���z:Test_IncrementalEncoder.test_setstate_validates_input_sizecCrh)Nrs
�rd)r3rNrerfr6�UnicodeDecodeErrorr^)r&rQZinvalid_utf8r(r(r)�#test_setstate_validates_input_bytes�rkz;Test_IncrementalEncoder.test_setstate_validates_input_bytescCs6t�d�d�}|�|�d�d�|�|�d�d�dS)Nz	shift-jis�backslashreplace�ÿs\xff�
�
)r3rNr!r$rPr(r(r)�test_issue5640�sz&Test_IncrementalEncoder.test_issue5640cCs<ddl}d}d}t�d�||f}|�|�}|�|d�dS)Nrr
uEPython の開発は、1990 年ごろから開始されています。a5
            import codecs
            encoding = %r
            text = %r
            encoder = codecs.getincrementalencoder(encoding)()
            text2 = encoder.encode(text).decode(encoding)
            if text2 != text:
                raise ValueError(f"encoding issue: {text2!a} != {text!a}")
        )�	_testcapi�textwrap�dedentZrun_in_subinterpr!)r&rs�encoding�textr?�resr(r(r)�test_subinterp�s�
	z&Test_IncrementalEncoder.test_subinterpN)rIrJrKrRrZr\r_rcrgrjrmrrrZcpython_onlyryr(r(r(r)rLOs
 		rLc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�Test_IncrementalDecodercCsFt�d��}|�|�d�d�|�|�d�d�|�|�d�d�dS)Nrs��̽u파이s� ����u
썬 마을rr)r3�getincrementaldecoderr!r"�r&�decoderr(r(r)�	test_dbcs�s��z!Test_IncrementalDecoder.test_dbcscCs|t�d��}|�|�d�d�|�t|jdd�|�|�d�d�|�|�d�d�|�t|jdd�|�|�d�d�dS)	Nrs��u파rT��u이s̽)r3r{r!r"r6rlr|r(r(r)�test_dbcs_keep_buffer�s
�z-Test_IncrementalDecoder.test_dbcs_keep_buffercCs�t�d��}d}|�|�|d�d�|�|�dd�d�|�|�|d�d�|�|�d�d	�|�|�d
�d	�|�|�dd�d	�|�|��d�|�|�d�d�|�|�|d�d�|�t|jd
d�|�|�d�d	�dS)Nz
iso2022-jp��(r�BT�$sB@$u世s@$@s@$z@$r)r3r{r!r"rOr6rl)r&r}ZESCr(r(r)�test_iso2022�sz$Test_IncrementalDecoder.test_iso2022cCs*tD]}t�|��}|�t|jd�qdSrF)r r3r{r6rGr")r&r'r}r(r(r)rHs�z+Test_IncrementalDecoder.test_decode_unicodecCs�t�d��}|�|�d�d�|��\}}|�|d�|�|�d�d�|��\}}|�|d�|�|�d�d�|��\}}|�|d�|�||f�|�|�d�d�|��\}}|�|d�|�d�|�|��d�dS)	Nrs��uうr��r��)sabci�[)r3r{r!r"r]r^)r&r}Zpending1�_Zpending2�flags2Zpending3Zpending4r(r(r)�test_state_methodss 
z*Test_IncrementalDecoder.test_state_methodscCsPt�d��}|�t|jd�|�t|jd�|�t|jd�|�t|jd�dS)Nr�{)�invalidr)s1234r�)s	123456789r)r3r{r6rGr^rir|r(r(r)�test_setstate_validates_input-s
z5Test_IncrementalDecoder.test_setstate_validates_inputN)	rIrJrKr~r�r�rHr�r�r(r(r(r)rz�s	rzc@seZdZdd�ZdS)�Test_StreamReaderc	Cs�z9ttd�}z|�d�W|��n|��wtjtdd�}z|�t|jd�W|��n|��wWt�	t�dSt�	t�w)N�wb��r)rv�)
�openr�write�closer3r6rl�readrr>)r&�fr(r(r)�test_bug17284035s
z!Test_StreamReader.test_bug1728403N)rIrJrKr�r(r(r(r)r�4sr�c@�$eZdZdd�Zdd�Zdd�ZdS)�Test_StreamWritercC�ht��}t�d�|�}|�d�|�|��d�|�d�|�|��d�|�d�|�|��d�dS)Nr�123�123�𒍅s123�7�9�가¬s123�7�9�7�5�0�1��io�BytesIOr3�	getwriterr�r!�getvalue�r&�s�cr(r(r)�test_gb18030E�



�zTest_StreamWriter.test_gb18030cCr�)Nzutf-8r�r�r�s123𒍅r�s123𒍅가¬r�r�r(r(r)�
test_utf_8Pr�zTest_StreamWriter.test_utf_8cCs4t��}t�d�|�}|�d�|�|��d�dS)Nrr+r,r�)r&r��wrr(r(r)�test_streamwriter_strwrite\s
z,Test_StreamWriter.test_streamwriter_strwriteN)rIrJrKr�r�r�r(r(r(r)r�Dsr�c@r�)�Test_ISO2022cCsd}d}|�|�d�|�dS)Ns(B:hu4:unit.ANi de familleu:hu4:unité de familleziso2022-jp-2)r!r")r&Z
iso2022jp2Zunir(r(r)�test_g2cszTest_ISO2022.test_g2cCsB|�dd�d��dD]}d�|�}|�tdd�|D���qdS)N��­z
iso-2022-jp-2)ziso-2022-jp-2004z
iso-2022-jp-3u㐆css�|]}|dkVqdS)�Nr()�.0�xr(r(r)�	<genexpr>ls�z2Test_ISO2022.test_iso2022_jp_g0.<locals>.<genexpr>)ZassertNotInr$ZassertFalse�any)r&rv�er(r(r)�test_iso2022_jp_g0hs

�zTest_ISO2022.test_iso2022_jp_g0cCs$tdd�D]
}t|��dd�qdS)Nii�iso_2022_jp�ignore)�range�chrr$)r&r�r(r(r)�test_bug1572832ns�zTest_ISO2022.test_bug1572832N)rIrJrKr�r�r�r(r(r(r)r�bsr�c@s<eZdZdZdZdZdZeeZdd�Zdd�Z	d	d
�Z
dS)�TestStatefulu世世ziso-2022-jps$B@$@$s(BcCs|�|j�|j�|j�dSrA)r!rwr$rv�expected_resetrDr(r(r)�test_encodezszTestStateful.test_encodecsht�|j���d��fdd�|jD��}|�||j�|��jddd�|j�|��jddd�d�dS)Nrc3s�|]}��|�VqdSrA�r$)r��char�rQr(r)r�s
��
�z7TestStateful.test_incrementalencoder.<locals>.<genexpr>rT��final)	r3rNrv�joinrwr!�expectedr$rO�r&�outputr(r�r)�test_incrementalencoder}s�z$TestStateful.test_incrementalencodercsdt�|j���t|j�d�d���fdd�t|j�D��}|�||j�|��j	ddd�d�dS)Nr.rc3s$�|]
\}}��||�k�VqdSrAr�)r��indexr��rQZ
last_indexr(r)r��s
��
�z=TestStateful.test_incrementalencoder_final.<locals>.<genexpr>rTr�)
r3rNrv�lenrwr��	enumerater!r�r$r�r(r�r)�test_incrementalencoder_final�s�z*TestStateful.test_incrementalencoder_finalN)rIrJrKrwrvr�rOr�r�r�r�r(r(r(r)r�ss	r�c@s$eZdZdZdZdZdZeeZdS)�TestHZStatefulu聊聊rs~{ADADs~}N)rIrJrKrwrvr�rOr�r(r(r(r)r��sr��__main__)rCr3r�r/rtZunittest�testrZtest.supportrZtest.support.os_helperrr ZTestCaserrLrzr�r�r�r�r�rI�mainr(r(r(r)�<module>s,.N�