Your IP : 216.73.216.213


Current Path : /opt/alt/python39/lib64/python3.9/test/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/test/__pycache__/multibytecodec_support.cpython-39.pyc

a

XC?h�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|jdurt�|j�|_|jj|_|jj|_|jj|_|jj|_	|jj
|_
|jj|_dS�N)�codec�codecs�lookup�encoding�encode�decode�streamreader�reader�streamwriter�writer�incrementalencoder�incrementaldecoder��self�r�@/opt/alt/python39/lib64/python3.9/test/multibytecodec_support.py�setUps





zTestBase.setUpcCs�g}|jD]:}|�d�}|��}|dks,J�dd�|D�}|�|�q
t|�D]D\}}|�|�d}|�||�d��|jrN|�||�|�d�qNdS)N�
�cSsg|]}|d�qS)rr)�.0�linerrr�
<listcomp>*rz-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}|r�|||�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�sourceZschemeZexpected�func�resultrrr�test_errorhandle2s0


���
���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|�|jrF|j\}}nd}d}|�|�|d�d|�dS)	Nr;r��codepoint2namecsxt|t�std|��g}|j|j|j�D]:}t|��vrT|�d�t|��q,|�dt|��q,d�|�|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
)rrMZsinZsoutrrAr�test_customreplace_encodeSs 

���z"TestBase.test_customreplace_encodecCs>dd�}t�d|�|�d|jdd�d}|�|d�dS)NcSs
d|jfS)Ns1234�rG�rJrrr�	myreplaceosz7TestBase.test_callback_returns_bytes.<locals>.myreplace�test.cjktest�abc�defrs
abc1234def)r
rNr
�unmappedunicoder%)rrS�encrrr�test_callback_returns_bytesnsz$TestBase.test_callback_returns_bytescsH�fdd�}t�d|�gd�gdt�fD]�|�t|j|jd�q*dS)Ncs
�|jfSrrQrR�ZretrrrSvsz7TestBase.test_callback_wrong_objects.<locals>.myreplacerT)r��)r
rNrEr4rDr
rW�rrSrrZr�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)�intrGrRrrrrSsz4TestBase.test_callback_long_index.<locals>.myreplacerT�abcd�efgh)s	abcdxefgh�	cSsdtjdfS)Nr_r)�sys�maxsizerRrrrrS�s)r
rNr%r
rWr4�
IndexErrorr]rrr�test_callback_long_index~s���z!TestBase.test_callback_long_indexcCs,dd�}t�d|�|�t|j|jd�dS)NcSsdS)N)r_NrrRrrrrS�sz4TestBase.test_callback_None_index.<locals>.myreplacerT)r
rNr4rDr
rWr]rrr�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)�limitrGrR�rSrrrS�s
z8TestBase.test_callback_backward_index.<locals>.myreplacer\rTrarb)s4abcdREPLACEDabcdREPLACEDabcdREPLACEDabcdTERMINALefghrc)rjr
rNr%r
rWrrrkr�test_callback_backward_index�s��z%TestBase.test_callback_backward_indexcCs6dd�}t�d|�|�|�d|jdd�d�dS)NcSsd|jdfS)Nrir[rQrRrrrrS�sz7TestBase.test_callback_forward_index.<locals>.myreplacerTrarb)sabcdREPLACEDghrc)r
rNr%r
rWr]rrr�test_callback_forward_index�s��z$TestBase.test_callback_forward_indexcCs,dd�}t�d|�|�t|j|jd�dS)NcSsdS)N)ZTERM�drrRrrrrS�sz:TestBase.test_callback_index_outofbound.<locals>.myreplacerT)r
rNr4rfr
rWr]rrr�test_callback_index_outofbound�s
�z'TestBase.test_callback_index_outofboundcCs�t�d�}dgttdd��gd�D]r}|t|jd��}t�}|��}|dur^|�|�}n|��}|slq�|�|�}|�	|�qJ|�
|��|jd�q&dS)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]b}t|jd�}|t��}|��}|�|�}|s^qtqL|�|�}|�	|�qL|�
|��|jd�q(dS)Nr���rrprqr)r
�	getwriterrvrwrr rrxrryr%rz)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�ignorercSs
d|jfS)NZcalledrQrRrrr�tempreplace�szDTestBase.test_incrementalencoder_error_callback.<locals>.tempreplaceztest.incremental_error_callbackscalled)
rWrr4rCr
�errorsr%�resetr
rN)r�invr�r�rrr�&test_incrementalencoder_error_callback�sz/TestBase.test_incrementalencoder_error_callbackcCs�t�d�}dD]�}ddgttdd��gd�D]p}|�t|jd��}|t��}t||�}||�}|sjq�|dkr~|�|�q\|�	|�q\|�
|��|jd�q0qdS)	Nr�rx�readline�	readlinesr�rrprqrr�)r
r�rvrwrrr �getattr�
writelinesryr%rz)rr��namer|r}r~r8r�rrr�test_streamreader�s
�

zTestBase.test_streamreaderc	Cs�d}t�d�}|D]�}dgttdd��gd�D]�}|t|jd��}|�t��}t||�}|durp||�}n|�}|s|q�|dkr�|�|�q^|�	|�q^|�
|��|jd�q2qdS)Nr�rrrprqr�r)r
rurvrwrr rr�r�ryr%rz)	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�n1s,0YdSr)rr4�AttributeErrorr�)rr�rrr�$test_incrementalencoder_del_segfaultsz-TestBase.test_incrementalencoder_del_segfault)�__name__�
__module__�__qualname__rr	r r.r&r=rOrWrr+r:r@rPrYr^rgrhrlrmror�r�r�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<z|����Wn&ttfy6|�d|j�Yn0dS)NzCould not retrieve )�open_mapping_file�close�OSErrorrr>�
mapfileurlrrrrr$szTestBase_Mapping.setUpcCst�|j�Sr)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_plainrrrr�test_mapping_file-s
z"TestBase_Mapping.test_mapping_filecCs�dd�}i}|����}|D]�}|s&q�|�d�d��}t|�dkrFq|ddd�dkrj|�d|���t�|ddd��}t|�dkr�d	|dkr�q||d�}t|�d
ks||vr�q|||<|�||�qWd�n1s�0YdS)NcSsd�dd�|�d�D��S)Nrcss|]}tt|d��VqdS)�N)�chrr`)rr_rrr�	<genexpr>5rzMTestBase_Mapping._test_mapping_file_plain.<locals>.unichrs.<locals>.<genexpr>�+)rIr!)r?rrr�unichrs4sz:TestBase_Mapping._test_mapping_file_plain.<locals>.unichrs�#rr[Z0xzInvalid line: rrsi��)r�r!�lenZfailr0�fromhexrH�
_testpoint)rr�Zurt_wa�frr��csetch�unichrrrr�3s&
z)TestBase_Mapping._test_mapping_file_plaincCsr|���}|��}Wd�n1s&0Yt�d|�}|D],\}}tt|d��}t�|�}|�||�q@dS)Nz'<a u="([A-F0-9]{4})" b="([0-9A-F ]+)"/>r�)	r�rx�re�findallr�r`r0r�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_supplementalcCsH||f|jvr"|�|�|j�|�||f|jvrD|�t||j�|�dSr)�pass_enctestr%r
r�pass_dectestr3)rr�r�rrrr�[szTestBase_Mapping._testpointcCs�|jD]�\}}}t|t�r"|j}n|j}|r�t|t�rz||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:as2


���
���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�n1sL0Yttj�||d�d��}|��}Wd�n1s�0Y||fS)NZcjkencodingsz.txt�rbz	-utf8.txt)�os�pathrI�dirname�__file__�openrx)r��dirr�Zencodedr)rrr�load_teststringys&&r�)r
r�r�rdZunittestZhttp.clientr�testr�iorrZTestCaser�r�rrrr�<module>s[