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

��g�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|jdkrt�|j�|_|jj|_|jj|_|jj|_|jj|_	|jj
|_
|jj|_dS)N)�codec�codecs�lookup�encoding�encode�decode�streamreader�reader�streamwriter�writer�incrementalencoder�incrementaldecoder)�self�r�7/usr/local/lib/python3.7/test/multibytecodec_support.py�setUps





zTestBase.setUpcCs�g}x8|jD].}|�d�}|��}dd�|D�}|�|�qWxPt|�D]D\}}|�|�d}|�||�d��|jrH|�||�|�d�qHWdS)N�
cSsg|]}|d�qS)rr)�.0�linerrr�
<listcomp>*sz-TestBase.test_chunkcoding.<locals>.<listcomp>rzutf-8)	�tstring�split�pop�append�zipr
�assertEqual�
roundtriptestr)rZ
tstring_lines�b�linesZlastZnative�utf8�urrr�test_chunkcoding$s
zTestBase.test_chunkcodingcCs�x�|jD]�\}}}t|t�r$|j}n|j}|r�|||�d}||jkr~|�t|�tkt|��|�||d||j	|||f�q�|�t|�tkt|��|�||d||j	|||f�q|�
t|||�qWdS)Nrz%a.decode(%r, %r)=%a != %az%a.encode(%r, %r)=%a != %a)�
codectests�
isinstance�bytesr
r�
assertTrue�type�strr!r�assertRaises�UnicodeError)r�source�scheme�expected�func�resultrrr�test_errorhandle2s$



zTestBase.test_errorhandlecCs0|jr|�d�d}|�|�|d�dd�dS)Nz$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|�|jrF|j\}}nd}d}|�|�|d�d|�dS)	Nz$encoding contains full ISO 10646 mapr)�codepoint2namecs|t|t�std|��g}xP|j|j|j�D]:}t|��krV|�d�t|��q.|�dt|��q.Wd�|�|jfS)Nzdon't know how to handle %rz&%s;z&#%d;r)	r)�UnicodeEncodeError�	TypeError�object�start�end�ordr�join)�exc�l�c)r;rr�xmlcharnamereplaceYs
z>TestBase.test_customreplace_encode.<locals>.xmlcharnamereplaceztest.xmlcharnamereplaceu«ℜ» = 〈ሴ〉s*&laquo;&real;&raquo; = &lang;&#4660;&rang;)	r7r8Z
html.entitiesr;r	�register_error�xmlcharnametestr!r)rrFZsinZsoutr)r;r�test_customreplace_encodeSs

z"TestBase.test_customreplace_encodecCs>dd�}t�d|�|�d|jdd�d}|�|d�dS)NcSs
d|jfS)Ns1234)r@)rCrrr�	myreplaceosz7TestBase.test_callback_returns_bytes.<locals>.myreplaceztest.cjktest�abc�defrs
abc1234def)r	rGr�unmappedunicoder!)rrJ�encrrr�test_callback_returns_bytesnsz$TestBase.test_callback_returns_bytescsN�fdd�}t�d|�x0dddggdt�fD]�|�t|j|jd�q.WdS)Ncs
�|jfS)N)r@)rC)�retrrrJvsz7TestBase.test_callback_wrong_objects.<locals>.myreplaceztest.cjktestr��)r	rGr>r.r=rrM)rrJr)rPr�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)�intr@)rCrrrrJsz4TestBase.test_callback_long_index.<locals>.myreplaceztest.cjktest�abcd�efgh)s	abcdxefgh�	cSsdtjdfS)NrTr)�sys�maxsize)rCrrrrJ�s)r	rGr!rrMr.�
IndexError)rrJrrr�test_callback_long_index~s
z!TestBase.test_callback_long_indexcCs,dd�}t�d|�|�t|j|jd�dS)NcSsdS)N)rTNr)rCrrrrJ�sz4TestBase.test_callback_None_index.<locals>.myreplaceztest.cjktest)r	rGr.r=rrM)rrJrrr�test_callback_None_index�sz!TestBase.test_callback_None_indexcs@�fdd��d�_t�d��|�|�d|jdd�d�dS)Ncs*�jdkr�jd8_dSd|jfSdS)Nrr)�REPLACEDrZTERMINAL)�limitr@)rC)rJrrrJ�s
z8TestBase.test_callback_backward_index.<locals>.myreplacerRztest.cjktestrVrW)s4abcdREPLACEDabcdREPLACEDabcdREPLACEDabcdTERMINALefghrX)r_r	rGr!rrM)rr)rJr�test_callback_backward_index�sz%TestBase.test_callback_backward_indexcCs6dd�}t�d|�|�|�d|jdd�d�dS)NcSsd|jdfS)Nr^rQ)r@)rCrrrrJ�sz7TestBase.test_callback_forward_index.<locals>.myreplaceztest.cjktestrVrW)sabcdREPLACEDghrX)r	rGr!rrM)rrJrrr�test_callback_forward_index�sz$TestBase.test_callback_forward_indexcCs,dd�}t�d|�|�t|j|jd�dS)NcSsdS)N)ZTERM�dr)rCrrrrJ�sz:TestBase.test_callback_index_outofbound.<locals>.myreplaceztest.cjktest)r	rGr.r[rrM)rrJrrr�test_callback_index_outofbound�sz'TestBase.test_callback_index_outofboundcCs�t�d�}x�dgttdd��dddddgD]v}|t|jd��}t�}|��}x:|dk	rh|�|�}n|��}|svP|�|�}|�	|�qTW|�
|��|jd	�q.WdS)
Nzutf-8r�!�@��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�}x�ddgttdd��ddddd	gD]f}t|jd
�}|t��}|��}x*|�|�}|shPqV|�|�}|�	|�qVW|�
|��|jd�q0WdS)Nzutf-8���rrdrerfrgiir)r	�	getwriterrirjrrrrkr
rlr!rm)r�
UTF8Writerrorprq�decoderrsr&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�cSs
d|jfS)NZcalled)r@)rCrrr�tempreplace�szDTestBase.test_incrementalencoder_error_callback.<locals>.tempreplaceztest.incremental_error_callbackscalled)
rMrr.r<r�errorsr!�resetr	rG)r�invrtr}rrr�&test_incrementalencoder_error_callback�sz/TestBase.test_incrementalencoder_error_callbackcCs�t�d�}x�dD]�}x�ddgttdd��dddd	d
gD]t}|�t|jd��}|t��}t||�}x0||�}|svP|dkr�|�|�qh|�	|�qhW|�
|��|jd�q:WqWdS)
Nzutf-8)rk�readline�	readlinesrvrrdrerfrgiirr�)r	rwrirjrrr�getattr�
writelinesrlr!rm)rrx�namerorprqr3rsrrr�test_streamreader�s



zTestBase.test_streamreaderc	Cs�d}t�d�}x�|D]�}x�dgttdd��ddddd	gD]�}|t|jd��}|�t��}t||�}x@|dk	r|||�}n|�}|s�P|d
kr�|�|�qj|�	|�qjW|�
|��|jd�q<WqWdS)N)rkr�r�zutf-8rrdrerfrgiir�r)r	rhrirjrrrr�r�rlr!rm)	rZ	readfuncsrnr�rorprqr3rsrrr�test_streamwriter�s$



zTestBase.test_streamwritercCst�}|�|�}|��dS)N)rrr)r�streamrrrr�"test_streamwriter_reset_no_pendings
z+TestBase.test_streamwriter_reset_no_pendingc	Cs&|��}|�t��
|`WdQRXdS)N)rr.�AttributeErrorr~)rrtrrr�$test_incrementalencoder_del_segfaultsz-TestBase.test_incrementalencoder_del_segfault)�__name__�
__module__�__qualname__rrrr(r"r7rHrMrr'r5r:rIrOrSr\r]r`rarcrurzr�r�r�r�r�rrrrrs6

	

rc@s\eZdZgZgZgZgZdd�Zdd�Zdd�Z	dd�Z
d	d
�Zdd�Zd
d�Z
dd�ZdS)�TestBase_Mappingc	Cs>y|����Wn(ttfk
r8|�d|j�YnXdS)NzCould not retrieve )�open_mapping_file�close�OSErrorrr8�
mapfileurl)rrrrr$szTestBase_Mapping.setUpcCst�|j�S)N)rZopen_urlresourcer�)rrrrr�*sz"TestBase_Mapping.open_mapping_filecCs"|j�d�r|��n|��dS)Nz.xml)r��endswith�_test_mapping_file_ucm�_test_mapping_file_plain)rrrr�test_mapping_file-s
z"TestBase_Mapping.test_mapping_filec	Cs�dd�}i}|����}x�|D]�}|s&P|�d�d��}t|�dkrFq|ddd�dkrj|�d|���t�|ddd��}t|�dkr�d	|dkr�q||d�}t|�d
ks||kr�q|||<|�||�qWWdQRXdS)NcSsd�dd�|�d�D��S)Nrcss|]}tt|d��VqdS)�N)�chrrU)rrTrrr�	<genexpr>5szMTestBase_Mapping._test_mapping_file_plain.<locals>.unichrs.<locals>.<genexpr>�+)rBr)r9rrr�unichrs4sz:TestBase_Mapping._test_mapping_file_plain.<locals>.unichrs�#rrQ�0xzInvalid line: rrfi��)r�r�lenZfailr*�fromhexrA�
_testpoint)rr�Zurt_wa�frrs�csetch�unichrrrr�3s&

z)TestBase_Mapping._test_mapping_file_plainc	Csb|���}|��}WdQRXt�d|�}x4|D],\}}tt|d��}t�|�}|�||�q.WdS)Nz'<a u="([A-F0-9]{4})" b="([0-9A-F ]+)"/>r�)	r�rk�re�findallr�rUr*r�r�)rr�ZucmdataZucZuniZcodedr�Zcodechrrrr�Ns

z'TestBase_Mapping._test_mapping_file_ucmcCsx|jD]}|j|�qWdS)N)�supmapsr�)r�mappingrrr�test_mapping_supplementalWsz*TestBase_Mapping.test_mapping_supplementalcCsH||f|jkr"|�|�|j�|�||f|jkrD|�t||j�|�dS)N)�pass_enctestr!rr�pass_dectestr-)rr�r�rrrr�[szTestBase_Mapping._testpointcCs�x�|jD]�\}}}t|t�r$|j}n|j}|r�t|t�r|||j|�}|�t|�tkt|��|�	||d||j|||f�q�||j|�}|�t|�tkt|��|�	||d||j|||f�q|�
t||j|�qWdS)Nz%a.decode(%r, %r)=%a != %az%a.encode(%r, %r)=%a != %a)r(r)r*r
rrr+r,r-r!r.r/)rr0r1r2r3r4rrrr5as&



z!TestBase_Mapping.test_errorhandleN)r�r�r�r�r�r�r(rr�r�r�r�r�r�r5rrrrr�s	r�c	Csvtj�tj�t�d�}ttj�||d�d��}|��}WdQRXttj�||d�d��}|��}WdQRX||fS)NZcjkencodingsz.txt�rbz	-utf8.txt)�os�pathrB�dirname�__file__�openrk)r��dirr�Zencodedr%rrr�load_teststringysr�)r	r�r�rYZunittestZhttp.clientrZtestr�iorrZTestCaser�r�rrrr�<module>s[