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.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�}|��}|dksJ�dd�|D�}|�|�qt|�D]"\}}|�|�d}|�||�d��|jrI|�||�|�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�crBrr�xmlcharnamereplaceYs
z>TestBase.test_customreplace_encode.<locals>.xmlcharnamereplaceztest.xmlcharnamereplaceu«ℜ» = 〈ሴ〉s*&laquo;&real;&raquo; = &lang;&#4660;&rang;)	r>r?Z
html.entitiesrCr
�register_error�xmlcharnametestr%r
)rrN�sinZsoutrrBr�test_customreplace_encodeSs 

���z"TestBase.test_customreplace_encodecCs>dd�}t�d|�|�d|jdd�d}|�|d�dS)NcS�
d|jfS)Ns1234�rH�rKrrr�	myreplaceo�
z7TestBase.test_callback_returns_bytes.<locals>.myreplace�test.cjktest�abc�defrs
abc1234def)r
rOr
�unmappedunicoder%)rrV�encrrr�test_callback_returns_bytesnsz$TestBase.test_callback_returns_bytescsH�fdd�}t�d|�gd�gdt�fD]�|�t|j|jd�qdS)Ncs
�|jfSrrTrU��retrrrVvrWz7TestBase.test_callback_wrong_objects.<locals>.myreplacerX)r��)r
rOrFr4rEr
r[�rrVrr^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)�intrHrUrrrrV�z4TestBase.test_callback_long_index.<locals>.myreplacerX�abcd�efgh)s	abcdxefgh�	cSsdtjdfS)Nrdr)�sys�maxsizerUrrrrV�rf)r
rOr%r
r[r4�
IndexErrorrbrrr�test_callback_long_index~s���z!TestBase.test_callback_long_indexcC�,dd�}t�d|�|�t|j|jd�dS)NcS�dS)N)rdNrrUrrrrV��z4TestBase.test_callback_None_index.<locals>.myreplacerX)r
rOr4rEr
r[rbrrr�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)�limitrHrU�rVrrrV�s

z8TestBase.test_callback_backward_index.<locals>.myreplacerarXrgrh)s4abcdREPLACEDabcdREPLACEDabcdREPLACEDabcdTERMINALefghri)rtr
rOr%r
r[rrrur�test_callback_backward_index�s��z%TestBase.test_callback_backward_indexcCs6dd�}t�d|�|�|�d|jdd�d�dS)NcSsd|jdfS)Nrsr`rTrUrrrrV�rfz7TestBase.test_callback_forward_index.<locals>.myreplacerXrgrh)sabcdREPLACEDghri)r
rOr%r
r[rbrrr�test_callback_forward_index�s��z$TestBase.test_callback_forward_indexcCrn)NcSro)N)ZTERM�drrUrrrrV�rpz:TestBase.test_callback_index_outofbound.<locals>.myreplacerX)r
rOr4rlr
r[rbrrr�test_callback_index_outofbound�rrz'TestBase.test_callback_index_outofboundcCs�t�d�}dgttdd��gd�D]:}|t|jd��}t�}|��}	|dur0|�|�}n|��}|s7n|�|�}|�	|�q&|�
|��|jd�qdS)Nrr�!��@��iir)r
�	getreader�list�rangerr r�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���rrzr{r)r
�	getwriterr�r�rr rr�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�ignorercSrS)NZcalledrTrUrrr�tempreplace�rWzDTestBase.test_incrementalencoder_error_callback.<locals>.tempreplaceztest.incremental_error_callbackscalled)
r[rr4rDr
�errorsr%�resetr
rO)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�rrzr{rr�)r
r�r�r�rrr �getattr�
writelinesr�r%r�)rr��namer�r�r�r9r�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�rrrzr{r�r)r
rr�r�rr rr�r�r�r%r�)	rZ	readfuncsr�r�r�r�r�r9r�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)rr4�AttributeErrorr�)rr�rrr�$test_incrementalencoder_del_segfaults"�z-TestBase.test_incrementalencoder_del_segfault)�__name__�
__module__�__qualname__rr	r r.r&r>rPr[rr+r;rArRr]rcrmrqrvrwryr�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)�chrre)rrdrrr�	<genexpr>5s�zMTestBase_Mapping._test_mapping_file_plain.<locals>.unichrs.<locals>.<genexpr>�+)rJr!)r@rrr�unichrs4sz:TestBase_Mapping._test_mapping_file_plain.<locals>.unichrs�#rr`�0xzInvalid line: rr}i��)r�r!�lenZfailr0�fromhexrI�
_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�rer0r�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_dectestr3)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/r0rr
rr1r2r3r%r4r5r6rrrr;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�pathrJ�dirname�__file__�openr�)r��dirr��encodedr)rrr�load_teststringys
�

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