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__/multibytecodec_support.cpython-310.opt-1.pyc
o

�i�8�@sxddlZddlZddlZddlZddlZddlmZddlmZddl	m
Z
Gdd�d�ZGdd�dej�Z
d	d
�ZdS)�N)�
HTTPException)�support)�BytesIOc@s�eZdZdZdZdZdZdZdZdZ	dZ
dd�Zdd	�Zd
d�Z
dd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�ZdS),�TestBase�N�ru�cCsX|jdurt�|j�|_|jj|_|jj|_|jj|_|jj|_	|jj
|_
|jj|_dS�N)�codec�codecs�lookup�encoding�encode�decode�streamreader�reader�streamwriter�writer�incrementalencoder�incrementaldecoder��self�r�8/usr/local/lib/python3.10/test/multibytecodec_support.py�setUps





zTestBase.setUpcCs�g}|jD]}|�d�}|��}dd�|D�}|�|�qt|�D]"\}}|�|�d}|�||�d��|jrC|�||�|�d�q!dS)N�
cSsg|]}|d�qS)rr)�.0�linerrr�
<listcomp>*sz-TestBase.test_chunkcoding.<locals>.<listcomp>r�utf-8)	�tstring�split�pop�append�zipr�assertEqual�
roundtriptestr
)rZ
tstring_lines�b�linesZlastZnative�utf8�urrr�test_chunkcoding$s

��zTestBase.test_chunkcodingcCs�|jD]_\}}}t|t�r|j}n|j}|rZ|||�d}||jur>|�t|�tut|��|�||d||j	|||f�q|�t|�tut|��|�||d||j	|||f�q|�
t|||�qdS)Nr�%a.decode(%r, %r)=%a != %a�%a.encode(%r, %r)=%a != %a)�
codectests�
isinstance�bytesrr
�
assertTrue�type�strr$r�assertRaises�UnicodeError�r�source�schemeZexpected�func�resultrrr�test_errorhandle2s2


���
����zTestBase.test_errorhandlecCs0|jr|�d�d}|�|�|d�dd�dS)N�$encoding contains full ISO 10646 mapuଓଣୠ nd eggs�xmlcharrefreplacers&#2835;&#2851;&#2912; nd eggs)�has_iso10646�skipTestr$r
)r�srrr�test_xmlcharrefreplaceIs
�zTestBase.test_xmlcharrefreplacecsj|jr|�d�ddlm��fdd�}t�d|�|jr#|j\}}nd}d}|�|�|d�d|�dS)	Nr;r��codepoint2namecsxt|t�std|��g}|j|j|j�D]}t|��vr*|�d�t|��q|�dt|��qd�|�|jfS)Nzdon't know how to handle %rz&%s;z&#%d;r)	r.�UnicodeEncodeError�	TypeError�object�start�end�ordr"�join)�exc�l�crArr�xmlcharnamereplaceYs
z>TestBase.test_customreplace_encode.<locals>.xmlcharnamereplaceztest.xmlcharnamereplaceu«ℜ» = 〈ሴ〉s*&laquo;&real;&raquo; = &lang;&#4660;&rang;)	r=r>Z
html.entitiesrBr
�register_error�xmlcharnametestr$r
)rrM�sinZsoutrrAr�test_customreplace_encodeSs 

���z"TestBase.test_customreplace_encodecCs>dd�}t�d|�|�d|jdd�d}|�|d�dS)NcS�
d|jfS)Ns1234�rG�rJrrr�	myreplaceo�
z7TestBase.test_callback_returns_bytes.<locals>.myreplace�test.cjktest�abc�defrs
abc1234def)r
rNr
�unmappedunicoder$)rrU�encrrr�test_callback_returns_bytesnsz$TestBase.test_callback_returns_bytescsH�fdd�}t�d|�gd�gdt�fD]�|�t|j|jd�qdS)Ncs
�|jfSrrSrT��retrrrUvrVz7TestBase.test_callback_wrong_objects.<locals>.myreplacerW)r��)r
rNrEr3rDr
rZ�rrUrr]r�test_callback_wrong_objectsus��z$TestBase.test_callback_wrong_objectscCs^dd�}t�d|�|�|�d|jdd�d�dd�}t�d|�|�t|j|jd�dS)NcSsdt|j�fS)N�x)�intrGrTrrrrU�z4TestBase.test_callback_long_index.<locals>.myreplacerW�abcd�efgh)s	abcdxefgh�	cSsdtjdfS)Nrcr)�sys�maxsizerTrrrrU�re)r
rNr$r
rZr3�
IndexErrorrarrr�test_callback_long_index~s���z!TestBase.test_callback_long_indexcC�,dd�}t�d|�|�t|j|jd�dS)NcS�dS)N)rcNrrTrrrrU��z4TestBase.test_callback_None_index.<locals>.myreplacerW)r
rNr3rDr
rZrarrr�test_callback_None_index��
�z!TestBase.test_callback_None_indexcs@�fdd��d�_t�d��|�|�d|jdd�d�dS)Ncs&�jdkr�jd8_dSd|jfS)Nrr)�REPLACEDrZTERMINAL)�limitrGrT�rUrrrU�s

z8TestBase.test_callback_backward_index.<locals>.myreplacer`rWrfrg)s4abcdREPLACEDabcdREPLACEDabcdREPLACEDabcdTERMINALefghrh)rsr
rNr$r
rZrrrtr�test_callback_backward_index�s��z%TestBase.test_callback_backward_indexcCs6dd�}t�d|�|�|�d|jdd�d�dS)NcSsd|jdfS)Nrrr_rSrTrrrrU�rez7TestBase.test_callback_forward_index.<locals>.myreplacerWrfrg)sabcdREPLACEDghrh)r
rNr$r
rZrarrr�test_callback_forward_index�s��z$TestBase.test_callback_forward_indexcCrm)NcSrn)N)ZTERM�drrTrrrrU�roz:TestBase.test_callback_index_outofbound.<locals>.myreplacerW)r
rNr3rkr
rZrarrr�test_callback_index_outofbound�rqz'TestBase.test_callback_index_outofboundcCs�t�d�}dgttdd��gd�D]:}|t|jd��}t�}|��}	|dur0|�|�}n|��}|s7n|�|�}|�	|�q&|�
|��|jd�qdS)Nrr�!��@��iir)r
�	getreader�list�rangerrr�readr
�writer$�getvalue)r�
UTF8Reader�sizehint�istream�ostream�encoder�data�errr�test_incrementalencoder�s$
�

��z TestBase.test_incrementalencodercCs�t�d�}ddgttdd��gd�D]1}t|jd�}|t��}|��}	|�|�}|s/n|�|�}|�	|�q'|�
|��|jd�qdS)Nr���rryrzr)r
�	getwriterrr�rrrr�rr�r$r�)r�
UTF8Writerr�r�r��decoderr�r)rrr�test_incrementaldecoder�s 
�



��z TestBase.test_incrementaldecodercCs�|j}|��}|�t|j|d�d|_|�|�|d�d�|��dd�}t�	d|�d|_|�|�|d�d�d|_|�|�|d�d�dS)NT�ignore�cSrR)NZcalledrSrTrrr�tempreplace�rVzDTestBase.test_incrementalencoder_error_callback.<locals>.tempreplaceztest.incremental_error_callbackscalled)
rZrr3rCr
�errorsr$�resetr
rN)r�invr�r�rrr�&test_incrementalencoder_error_callback�sz/TestBase.test_incrementalencoder_error_callbackcCs�t�d�}dD]K}ddgttdd��gd�D]9}|�t|jd��}|t��}t||�}	||�}|s6n|dkr@|�|�n|�	|�q/|�
|��|jd�qqdS)	Nr�r��readline�	readlinesr�rryrzrr�)r
r�rr�rrr�getattr�
writelinesr�r$r�)rr��namer�r�r�r8r�rrr�test_streamreader�s&
�


�	��zTestBase.test_streamreaderc	Cs�d}t�d�}|D]R}dgttdd��gd�D]A}|t|jd��}|�t��}t||�}	|dur9||�}n|�}|s?n|dkrI|�|�n|�	|�q0|�
|��|jd�qq	dS)Nr�rrryrzr�r)r
r~rr�rrrr�r�r�r$r�)	rZ	readfuncsr�r�r�r�r�r8r�rrr�test_streamwriter�s,
�


�
��zTestBase.test_streamwritercCst�}|�|�}|��dSr)rrr�)r�streamrrrr�"test_streamwriter_reset_no_pendings
z+TestBase.test_streamwriter_reset_no_pendingcCs<|��}|�t��|`Wd�dS1swYdSr)rr3�AttributeErrorr�)rr�rrr�$test_incrementalencoder_del_segfaults"�z-TestBase.test_incrementalencoder_del_segfault)�__name__�
__module__�__qualname__rr	rr-r%r=rOrZrr*r:r@rQr\rbrlrprurvrxr�r�r�r�r�r�r�rrrrrs8

	

rc@s\eZdZgZgZgZgZdd�Zdd�Zdd�Z	dd�Z
d	d
�Zdd�Zd
d�Z
dd�ZdS)�TestBase_Mappingc	Cs<z	|����WdSttfy|�d|j�YdSw)NzCould not retrieve )�open_mapping_file�close�OSErrorrr>�
mapfileurlrrrrr$s
�zTestBase_Mapping.setUpcCstj|jdd�S)Nr)r)rZopen_urlresourcer�rrrrr�*sz"TestBase_Mapping.open_mapping_filecCs$|j�d�r|��dS|��dS)Nz.xml)r��endswith�_test_mapping_file_ucm�_test_mapping_file_plainrrrr�test_mapping_file-sz"TestBase_Mapping.test_mapping_filecCsdd�}i}|���o}|D][}|sn^|�d�d��}t|�dkr#q
|ddd�dkr5|�d|���t�|ddd��}t|�dkrMd	|dkrMq
||d�}t|�d
ks]||vr^q
|||<|�||�q
Wd�dSWd�dS1s|wYdS)NcSsd�dd�|�d�D��S)Nrcss�|]
}tt|d��VqdS)�N)�chrrd)rrcrrr�	<genexpr>5s�zMTestBase_Mapping._test_mapping_file_plain.<locals>.unichrs.<locals>.<genexpr>�+)rIr )r?rrr�unichrs4sz:TestBase_Mapping._test_mapping_file_plain.<locals>.unichrs�#rr_�0xzInvalid line: rr|i��)r�r �lenZfailr/�fromhexrH�
_testpoint)rr�Zurt_wa�frr��csetch�unichrrrr�3s.
��"�z)TestBase_Mapping._test_mapping_file_plaincCsr|���}|��}Wd�n1swYt�d|�}|D]\}}tt|d��}t�|�}|�||�q dS)Nz'<a u="([A-F0-9]{4})" b="([0-9A-F ]+)"/>r�)	r�r��re�findallr�rdr/r�r�)rr�ZucmdataZucZuniZcodedr�Zcodechrrrr�Ns

�
�z'TestBase_Mapping._test_mapping_file_ucmcCs|jD]}|j|�qdSr)�supmapsr�)r�mappingrrr�test_mapping_supplementalWs
�z*TestBase_Mapping.test_mapping_supplementalcCsL||f|jvr|�|�|j�|�||f|jvr$|�t||j�|�dSdSr)�pass_enctestr$r
r�pass_dectestr2)rr�r�rrrr�[s
�zTestBase_Mapping._testpointcCs�|jD]e\}}}t|t�r|j}n|j}|r_t|t�r=||j|�}|�t|�tut|��|�	||d||j|||f�q||j|�}|�t|�tut|��|�	||d||j|||f�q|�
t||j|�qdS)Nr+r,)r-r.r/rr
rr0r1r2r$r3r4r5rrrr:as4


���
����z!TestBase_Mapping.test_errorhandleN)r�r�r�r�r�r�r-rr�r�r�r�r�r�r:rrrrr�s	r�cCs�tj�tj�t�d�}ttj�||d�d��}|��}Wd�n1s&wYttj�||d�d��}|��}Wd�||fS1sIwY||fS)NZcjkencodingsz.txt�rbz	-utf8.txt)�os�pathrI�dirname�__file__�openr�)r��dirr��encodedr(rrr�load_teststringys
�

��r�)r
r�r�riZunittestZhttp.clientr�testr�iorrZTestCaser�r�rrrr�<module>s[