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.pyc



��Yf�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/test/multibytecodec_support.py�setUpszTestBase.setUpcCs�g}x^|jD]S}|jd�}|j�}|dksCt�dd�|D�}|j|�qWxlt|�D]^\}}|j|�d}|j||jd��|jrt|j||j	|�d�qtWdS)Ns
�cSsg|]}|d�qS)s
r)�.0�linerrr�
<listcomp>*s	z-TestBase.test_chunkcoding.<locals>.<listcomp>rzutf-8)
�tstring�split�pop�AssertionError�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;)	r8r9Z
html.entitiesr<r	�register_error�xmlcharnametestr"r)rrGZsinZsoutr)r<r�test_customreplace_encodeSs	
	z"TestBase.test_customreplace_encodecCsQdd�}tjd|�|jd|jdd�d}|j|d�dS)NcSs
d|jfS)Ns1234)rA)rDrrr�	myreplaceosz7TestBase.test_callback_returns_bytes.<locals>.myreplaceztest.cjktest�abc�defrs
abc1234def)r	rHr�unmappedunicoder")rrK�encrrr�test_callback_returns_bytesns!z$TestBase.test_callback_returns_bytescsk�fdd�}tjd|�xBdddggdt�fD]"�|jt|j|jd�qAWdS)Ncs
�|jfS)N)rA)rD)�retrrrKvsz7TestBase.test_callback_wrong_objects.<locals>.myreplaceztest.cjktestr��)r	rHr?r/r>rrN)rrKr)rQr�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)�intrA)rDrrrrKsz4TestBase.test_callback_long_index.<locals>.myreplaceztest.cjktest�abcd�efgh�	abcdxefgh�	cSsdtjdfS)NrUr)�sys�maxsize)rDrrrrK�s)rYrZ)r	rHr"rrNr/�
IndexError)rrKrrr�test_callback_long_index~s
z!TestBase.test_callback_long_indexcCs<dd�}tjd|�|jt|j|jd�dS)NcSsdS)NrU)rUNr)rDrrrrK�sz4TestBase.test_callback_None_index.<locals>.myreplaceztest.cjktest)r	rHr/r>rrN)rrKrrr�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)�limitrA)rD)rKrrrK�sz8TestBase.test_callback_backward_index.<locals>.myreplacerSztest.cjktestrWrX�4abcdREPLACEDabcdREPLACEDabcdREPLACEDabcdTERMINALefghrZ)rbrZ)rar	rHr"rrN)rr)rKr�test_callback_backward_index�s	z%TestBase.test_callback_backward_indexcCsGdd�}tjd|�|j|jd|jdd�d�dS)	NcSsd|jdfS)Nr`rR)rA)rDrrrrK�sz7TestBase.test_callback_forward_index.<locals>.myreplaceztest.cjktestrWrX�abcdREPLACEDghrZ)rdrZ)r	rHr"rrN)rrKrrr�test_callback_forward_index�sz$TestBase.test_callback_forward_indexcCs<dd�}tjd|�|jt|j|jd�dS)NcSsdS)N�TERM�d)rfrgr)rDrrrrK�sz:TestBase.test_callback_index_outofbound.<locals>.myreplaceztest.cjktest)r	rHr/r]rrN)rrKrrr�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-8rrirjrkrliir���)r	�	getwriterrnrorrrrpr
rqr"rr)r�
UTF8Writerrtrurv�decoderrxr'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�ignorercSs
d|jfS)NZcalled)rA)rDrrr�tempreplace�szDTestBase.test_incrementalencoder_error_callback.<locals>.tempreplaceztest.incremental_error_callbackscalled)
rNrr/r=r�errorsr"�resetr	rH)r�invryr�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-8rp�readline�	readlinesrrirjrkrliirr{)r	r|rnrorrr�getattr�
writelinesrqr"rr)rr}�namertrurvr4rxrrr�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)Nrpr�r�zutf-8rrirjrkrliir)rpr�r�)r	rmrnrorrrr�r�rqr"rr)	rZ	readfuncsrsr�rtrurvr4rxrrr�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#r8rIrNrr(r6r;rJrPrTr^r_rcrerhrzrr�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�OSErrorrr9�
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�+)rC�map�chr�evalr)r:rrr�<lambda>/sz;TestBase_Mapping._test_mapping_file_plain.<locals>.<lambda>�#rrR��i���irlri��)r�r�strip�lenr�r+rB�
_testpoint)	rZunichrsZurt_wa�frrxZcsetval�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)rV)rrFrrr�	<genexpr>Usz:TestBase_Mapping._test_mapping_file_ucm.<locals>.<genexpr>)	r�rp�re�findallr�rVr+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/r0)rr1r2r3r4r5rrrr6bs&	""z!TestBase_Mapping.test_errorhandleN)r�r�r�r�r�r�r)rr�r�r�r�r�r�r6rrrrr�s!	r�cCs�tjjtjjt�d�}ttjj||d�d��}|j�}WdQRXttjj||d�d��}|j�}WdQRX||fS)NZcjkencodingsz.txt�rbz	-utf8.txt)�os�pathrC�dirname�__file__�openrp)r��dirr�Zencodedr&rrr�load_teststringzs!%%r�)r	r�r�r[ZunittestZhttp.clientrZtestr�iorrZTestCaser�r�rrrr�<module>s�a