Your IP : 216.73.217.129


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/multibytecodec_support.cpython-35.opt-2.pyc



���]�9�@s�ddlZddlZddlZddlZddlZddlmZddlmZddl	m
Z
Gdd�d�ZGdd�dej�Z
d	d
�ZdS)�N)�
HTTPException)�support)�BytesIOc@seZdZdZdZdZdZdZdZdZ	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)�ZdS)*�TestBase�N�ru�cCs�|jdkr$tj|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/python35/lib64/python3.5/multibytecodec_support.py�setUpszTestBase.setUpcCs�g}xL|jD]A}|jd�}|j�}dd�|D�}|j|�qWxlt|�D]^\}}|j|�d}|j||jd��|jrb|j||j|�d�qbWdS)Ns
cSsg|]}|d�qS)s
r)�.0�linerrr�
<listcomp>*s	z-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_chunkcodingc
Csx|jD]
\}}}t|t�r4|j}n	|j}|r|||�d}||jkr�|jt|�tkt|��|j||d||j	|||f�q|jt|�tkt|��|j||d||j	|||f�q
|j
t|||�q
WdS)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_errorhandlecCs@|jr|jd�d}|j|j|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_xmlcharrefreplacecs�|jr|jd�ddlm��fdd�}tjd|�|jrc|j\}}nd}d}|j|j|d�d|�dS)	Nz$encoding contains full ISO 10646 mapr)�codepoint2namecs�t|t�std|��g}xh|j|j|j�D]M}t|��kru|jd�t|��q?|jdt|��q?Wdj|�|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;)	r6r7Z
html.entitiesr:r	�register_error�xmlcharnametestr r)rrE�sinZsoutr)r:r�test_customreplace_encodeSs	
	z"TestBase.test_customreplace_encodecCsQdd�}tjd|�|jd|jdd�d}|j|d�dS)NcSs
d|jfS)Ns1234)r?)rBrrr�	myreplaceosz7TestBase.test_callback_returns_bytes.<locals>.myreplaceztest.cjktest�abc�defrs
abc1234def)r	rFr�unmappedunicoder )rrJ�encrrr�test_callback_returns_bytesns!z$TestBase.test_callback_returns_bytescsk�fdd�}tjd|�xBdddggdt�fD]"�|jt|j|jd�qAWdS)Ncs
�|jfS)N)r?)rB)�retrrrJvsz7TestBase.test_callback_wrong_objects.<locals>.myreplaceztest.cjktestr��)r	rFr=r-r<rrM)rrJr)rPr�test_callback_wrong_objectsus
%z$TestBase.test_callback_wrong_objectscCsdd�}tjd|�|j|jd|jdd�d	�dd�}tjd|�|jt|j|jd�dS)
NcSsdt|j�fS)N�x)�intr?)rBrrrrJsz4TestBase.test_callback_long_index.<locals>.myreplaceztest.cjktest�abcd�efgh�	abcdxefgh�	cSsdtjdfS)NrTr)�sys�maxsize)rBrrrrJ�s)rXrY)r	rFr rrMr-�
IndexError)rrJrrr�test_callback_long_index~s
z!TestBase.test_callback_long_indexcCs<dd�}tjd|�|jt|j|jd�dS)NcSsdS)NrT)rTNr)rBrrrrJ�sz4TestBase.test_callback_None_index.<locals>.myreplaceztest.cjktest)r	rFr-r<rrM)rrJrrr�test_callback_None_index�sz!TestBase.test_callback_None_indexcsV�fdd��d�_tjd��|j|jd|jdd�d	�dS)
Ncs3�jdkr"�jd8_dSd|jfSdS)Nrr�REPLACEDZTERMINAL)r_r)�limitr?)rB)rJrrrJ�sz8TestBase.test_callback_backward_index.<locals>.myreplacerRztest.cjktestrVrW�4abcdREPLACEDabcdREPLACEDabcdREPLACEDabcdTERMINALefghrY)rarY)r`r	rFr rrM)rr)rJr�test_callback_backward_index�s	z%TestBase.test_callback_backward_indexcCsGdd�}tjd|�|j|jd|jdd�d�dS)	NcSsd|jdfS)Nr_rQ)r?)rBrrrrJ�sz7TestBase.test_callback_forward_index.<locals>.myreplaceztest.cjktestrVrW�abcdREPLACEDghrY)rcrY)r	rFr rrM)rrJrrr�test_callback_forward_index�sz$TestBase.test_callback_forward_indexcCs<dd�}tjd|�|jt|j|jd�dS)NcSsdS)N�TERM�d)rerfr)rBrrrrJ�sz:TestBase.test_callback_index_outofbound.<locals>.myreplaceztest.cjktest)r	rFr-r\rrM)rrJrrr�test_callback_index_outofbound�sz'TestBase.test_callback_index_outofboundcCs�tjd�}x�dgttdd��dddddgD]�}|t|jd��}t�}|j�}xQ|dk	r�|j|�}n|j�}|s�P|j|�}|j	|�qvW|j
|j�|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�tjd�}x�dd
gttdd��dddddgD]�}t|jd	�}|t��}|j�}x9|j|�}|s�Pqy|j|�}|j	|�qyW|j
|j�|jd�qBWdS)Nzutf-8rrhrirjrkiir���)r	�	getwriterrmrnrrrror
rpr rq)r�
UTF8Writerrsrtru�decoderrwr%rrr�test_incrementaldecoder�sz TestBase.test_incrementaldecodercCs�|j}|j�}|jt|j|d�d|_|j|j|d�d�|j�dd�}tj	d|�d|_|j|j|d�d�d|_|j|j|d�d�dS)NT�ignore�cSs
d|jfS)NZcalled)r?)rBrrr�tempreplace�szDTestBase.test_incrementalencoder_error_callback.<locals>.tempreplaceztest.incremental_error_callbackscalled)
rMrr-r;r�errorsr �resetr	rF)r�invrxr�rrr�&test_incrementalencoder_error_callback�s		
		z/TestBase.test_incrementalencoder_error_callbackcCstjd�}x�dddgD]�}x�dd
gttdd��ddd	d
dgD]�}|jt|jd��}|t��}t||�}x@||�}|s�P|dkr�|j|�q�|j	|�q�W|j
|j�|jd�qXWqWdS)Nzutf-8ro�readline�	readlinesrrhrirjrkiirrz)r	r{rmrnrrr�getattr�
writelinesrpr rq)rr|�namersrtrur2rwrrr�test_streamreader�szTestBase.test_streamreaderc	Csd
}tjd�}x�|D]�}x�dgttdd��ddd	d
dgD]�}|t|jd��}|jt��}t||�}xX|dk	r�||�}n	|�}|s�P|dkr�|j|�q�|j	|�q�W|j
|j�|jd�qRWqWdS)Nror�r�zutf-8rrhrirjrkiir)ror�r�)r	rlrmrnrrrr�r�rpr rq)	rZ	readfuncsrrr�rsrtrur2rwrrr�test_streamwriter�s$
	zTestBase.test_streamwritercCs&t�}|j|�}|j�dS)N)rrr�)r�streamrrrr�"test_streamwriter_reset_no_pendings	z+TestBase.test_streamwriter_reset_no_pending)�__name__�
__module__�__qualname__rrrr'r!r6rGrMrr&r4r9rIrOrSr]r^rbrdrgryr~r�r�r�r�rrrrrs4

	

rc@s�eZdZgZgZgZgZdd�Zdd�Zdd�Z	dd�Z
d	d
�Zdd�Zd
d�Z
dd�ZdS)�TestBase_MappingcCsGy|j�j�Wn,ttfk
rB|jd|j�YnXdS)NzCould not retrieve )�open_mapping_file�close�OSErrorrr7�
mapfileurl)rrrrrszTestBase_Mapping.setUpcCstj|j�S)N)rZopen_urlresourcer�)rrrrr�%sz"TestBase_Mapping.open_mapping_filecCs-|jjd�r|j�n
|j�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}|j��o}xe|D]]}|s5P|jd�dj�j�}t|�dkriq(t|d�}|dkr�t|d@g�}n�|dkr�t|d	?|d
?d@|d?d@|d@g�}n`|dkrt|d
?|d?d@|d@g�}n,|d
kr(t|d?|d@g�}nq(||d�}t|�dks(||krkq(|||<|j||�q(WWdQRXdS)NcSs(djtttt|jd����S)Nr�+)rA�map�chr�evalr)r8rrr�<lambda>/sz;TestBase_Mapping._test_mapping_file_plain.<locals>.<lambda>�#rrQ��i���irkri��)r�r�strip�lenr�r)r@�
_testpoint)	rZunichrsZurt_wa�frrwZcsetval�csetch�unichrrrr�.s4

z)TestBase_Mapping._test_mapping_file_plaincCs�|j��}|j�}WdQRXtjd|�}xX|D]P\}}tt|d��}tdd�|j�D��}|j||�q;WdS)Nz'<a u="([A-F0-9]{4})" b="([0-9A-F ]+)"/>r�css|]}t|d�VqdS)r�N)rU)rrDrrr�	<genexpr>Usz:TestBase_Mapping._test_mapping_file_ucm.<locals>.<genexpr>)	r�ro�re�findallr�rUr)rr�)rr�ZucmdataZucZuniZcodedr�Zcodechrrrr�Osz'TestBase_Mapping._test_mapping_file_ucmcCs%x|jD]}|j|�q
WdS)N)�supmapsr�)r�mappingrrr�test_mapping_supplementalXsz*TestBase_Mapping.test_mapping_supplementalcCsf||f|jkr1|j|j|j�|�||f|jkrb|jt||j�|�dS)N)�pass_enctestr rr�pass_dectestr,)rr�r�rrrr�\szTestBase_Mapping._testpointc
Cs3x,|jD]!\}}}t|t�r4|j}n	|j}|rt|t�r�||j|�}|jt|�tkt|��|j	||d||j|||f�q+||j|�}|jt|�tkt|��|j	||d||j|||f�q
|j
t||j|�q
WdS)Nz%a.decode(%r, %r)=%a != %az%a.encode(%r, %r)=%a != %a)r'r(r)r
rrr*r+r,r r-r.)rr/r0r1r2r3rrrr4bs&	""z!TestBase_Mapping.test_errorhandleN)r�r�r�r�r�r�r'rr�r�r�r�r�r�r4rrrrr�s!	r�cCs�tjjtjjt�d�}ttjj||d�d��}|j�}WdQRXttjj||d�d��}|j�}WdQRX||fS)NZcjkencodingsz.txt�rbz	-utf8.txt)�os�pathrA�dirname�__file__�openro)r��dirr��encodedr$rrr�load_teststringzs!%%r�)r	r�r�rZZunittestZhttp.clientrZtestr�iorrZTestCaser�r�rrrr�<module>s�a