Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_codeccallbacks.cpython-39.opt-1.pyc

a

��g���@s�ddlZddlZddlZddlZddlZddlZGdd�d�ZGdd�d�ZGdd�de	�Z
Gdd	�d	e	�ZGd
d�de�Z
Gdd
�d
e�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�dej�Zedkr�e��dS)�Nc@seZdZdd�Zdd�ZdS)�	PosReturncCs
d|_dS�Nr)�pos��self�r�4/usr/local/lib/python3.9/test/test_codeccallbacks.py�__init__szPosReturn.__init__cCs>|j}|}|dkr t|j�|}||jkr6t|j�|_d|fS)Nr�<?>)r�len�object�start)r�excZoldposZrealposrrr�handles
zPosReturn.handleN��__name__�
__module__�__qualname__r	rrrrrr	src@seZdZddd�Zdd�ZdS)�RepeatedPosReturnr
cCs||_d|_d|_dSr)�replr�count)rrrrrr	szRepeatedPosReturn.__init__cCs0|jdkr$|jd8_|j|jfS|j|jfS)Nr�)rrr�end)rrrrrr s
zRepeatedPosReturn.handleN)r
rrrrrrs
rc@seZdZdd�ZdS)�BadStartUnicodeEncodeErrorcCst�|ddddd�g|_dS�N�ascii�rr�bad)�UnicodeEncodeErrorr	r
rrrrr	(sz#BadStartUnicodeEncodeError.__init__N�rrrr	rrrrr'src@seZdZdd�ZdS)�BadObjectUnicodeEncodeErrorcCst�|ddddd�g|_dSr)rr	rrrrrr	.sz$BadObjectUnicodeEncodeError.__init__Nrrrrrr -sr c@seZdZdd�ZdS)�NoEndUnicodeDecodeErrorcCs t�|dtd�ddd�|`dS�Nr�rrr)�UnicodeDecodeErrorr	�	bytearrayrrrrrr	4sz NoEndUnicodeDecodeError.__init__Nrrrrrr!3sr!c@seZdZdd�ZdS)�BadObjectUnicodeDecodeErrorcCs"t�|dtd�ddd�g|_dSr")r$r	r%rrrrrr	:sz$BadObjectUnicodeDecodeError.__init__Nrrrrrr&9sr&c@seZdZdd�ZdS)�NoStartUnicodeTranslateErrorcCst�|dddd�|`dS�Nrrrr)�UnicodeTranslateErrorr	r
rrrrr	@sz%NoStartUnicodeTranslateError.__init__Nrrrrrr'?sr'c@seZdZdd�ZdS)�NoEndUnicodeTranslateErrorcCst�|dddd�|`dSr()r)r	rrrrrr	Fsz#NoEndUnicodeTranslateError.__init__Nrrrrrr*Esr*c@seZdZdd�ZdS)�NoObjectUnicodeTranslateErrorcCst�|dddd�|`dSr()r)r	rrrrrr	Lsz&NoObjectUnicodeTranslateError.__init__Nrrrrrr+Ksr+c@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQS)R�CodecCallbackTestcCs0d}|�|�dd�d�|�|�dd�d�dS)Nuスパモ änd eggsr�xmlcharrefreplaces&&#12473;&#12497;&#12514; &#228;nd eggs�latin-1s!&#12473;&#12497;&#12514; �nd eggs��assertEqual�encode)r�srrr�test_xmlcharrefreplaceRs
�
�z(CodecCallbackTest.test_xmlcharrefreplacecCsddd�}t�d|�d}d}|�|�dd�|�d}|�|�dd�|�d	}|�|�d
d�|�dS)Nc	Ss�t|t�std|��g}|j|j|j�D]H}z|�dtjj	t
|��Wq,tyr|�dt
|��Yq,0q,d�|�|jfS)N�don't know how to handle %rz&%s;�&#%d;r)
�
isinstancer�	TypeErrorrr
r�append�htmlZentitiesZcodepoint2name�ord�KeyError�join�r�l�crrr�xmlcharnamereplaceds
zECodecCallbackTest.test_xmlcharnamereplace.<locals>.xmlcharnamereplaceztest.xmlcharnamereplaceu«ℜ» = 〈ሴ€〉s0&laquo;&real;&raquo; = &lang;&#4660;&euro;&rang;rs$�&real;� = &lang;&#4660;&euro;&rang;r.s�&real;� = &lang;&#4660;�&rang;�iso-8859-15��codecs�register_errorr0r1)rr@�sin�soutrrr�test_xmlcharnamereplace`s�z)CodecCallbackTest.test_xmlcharnamereplacecCsddd�}t�d|�d}d}|�|�dd�|�d}|�|�dd�|�d	}|�|�d
d�|�dS)Nc	Ss`t|t�std|��g}|j|j|j�D]}|�t�|dt	|���q,dd�
|�|jfS)Nr4z0x%xz
%sz, )r6rr7rr
rr8�unicodedata�namer:r<r=rrr�uninamereplace�s
z=CodecCallbackTest.test_uninamereplace.<locals>.uninamereplaceztest.uninamereplaceu¬ሴ€耀sNNOT SIGN, ETHIOPIC SYLLABLE SEE, EURO SIGN, CJK UNIFIED IDEOGRAPH-8000rsE�ETHIOPIC SYLLABLE SEE, EURO SIGN, CJK UNIFIED IDEOGRAPH-8000r.sA�ETHIOPIC SYLLABLE SEE�CJK UNIFIED IDEOGRAPH-8000rArB)rrJrErFrrr�test_uninamereplacezs	�z%CodecCallbackTest.test_uninamereplacecCsPd}d}|�|�dd�|�d}|�|�dd�|�d}|�|�dd�|�dS)	N�a¬ሴ€耀􏿿s!a\xac\u1234\u20ac\u8000\U0010ffffr�backslashreplacesa�\u1234\u20ac\u8000\U0010ffffr.sa�\u1234�\u8000\U0010ffffrAr/�rrErFrrr�test_backslashescape�sz&CodecCallbackTest.test_backslashescapecCsPd}d}|�|�dd�|�d}|�|�dd�|�d}|�|�dd�|�dS)	NrLs[a\N{NOT SIGN}\N{ETHIOPIC SYLLABLE SEE}\N{EURO SIGN}\N{CJK UNIFIED IDEOGRAPH-8000}\U0010ffffr�namereplacesPa�\N{ETHIOPIC SYLLABLE SEE}\N{EURO SIGN}\N{CJK UNIFIED IDEOGRAPH-8000}\U0010ffffr.sDa�\N{ETHIOPIC SYLLABLE SEE}�\N{CJK UNIFIED IDEOGRAPH-8000}\U0010ffffrAr/rNrrr�test_nameescape�sz!CodecCallbackTest.test_nameescapecCsJdd�}t�d|�d}d}|�|�dd�|�d}|�t|jdd�dS)NcSsFt|t�std|��|j|j|jd�dkr>d|jdfS|�dS)Nr4�s���)r6r$r7rr
�rrrr�relaxedutf8�s

z>CodecCallbackTest.test_decoding_callbacks.<locals>.relaxedutf8ztest.relaxedutf8sab��cü����u	abcü�utf-8s����)rCrDr0�decode�assertRaisesr$)rrUrErFrrr�test_decoding_callbacks�s
�z)CodecCallbackTest.test_decoding_callbackscCs�tdd�dD��}d}d}|�t�|d|�d|�d}|�ttj|d|�d	|td
�<d}d}|�t�|d
|�d|�d|td
�<|�ttj|d
|�dS)Ncss(|] }t|�td|��d�fVqdS)rRrN)r:�bytes�upper��.0r?rrr�	<genexpr>�r#z7CodecCallbackTest.test_charmapencode.<locals>.<genexpr>Zabcdefgh�abcsAABBCC�strictrZabcAsXYZ�?ZabcDEFsAABBCCXYZXYZXYZ�replaceZXYZ)�dictr0rC�charmap_encoderX�UnicodeErrorr:r7)r�charmaprErFrrr�test_charmapencode�sz$CodecCallbackTest.test_charmapencodecCs�dd�}t�d|�dd�}t�d|�d}|�|�dd�d	�|�|�dd�d
�|�d�dd�d
�|�d�dd�d�|�t�ddtd�di�dd�|�d�dd�d�|�d�dd�d�dS)Ncsjt�j�j�}t�t�r,�fdd�|D�}n*t�t�rJ�fdd�|D�}ntd���dd�|��jfS)Ncsg|]}dt�j|��qS�z<%d>)r:r�r]rrTrr�
<listcomp>�r#zFCodecCallbackTest.test_callbacks.<locals>.handler1.<locals>.<listcomp>csg|]}d�j|�qSrh�rrirTrrrj�r#r4�[%s]r)�ranger
rr6rr$r7r<)r�rr>rrTr�handler1�s

z2CodecCallbackTest.test_callbacks.<locals>.handler1z
test.handler1csJt�t�std����fdd�t�j�j�D�}dd�|��jdfS)Nr4csg|]}d�j|�qSrhrkrirTrrrj�r#zFCodecCallbackTest.test_callbacks.<locals>.handler2.<locals>.<listcomp>rlrr)r6r$r7rmr
rr<)rr>rrTr�handler2�s
z2CodecCallbackTest.test_callbacks.<locals>.handler2z
test.handler2s���rz[<129>][<128>][<255>]z[<129>][<128>]s\u3042\u3xxx�unicode-escapeuあ[<92><117><51>]xxxs\u3042\u3xxuあ[<92><117><51>]xx�abc�a�zrz
z[<98>][<99>]ugüßrksg[<252><223>]rkugüßs
g[<252><223>])rCrDr0rW�charmap_decoder:r1)rrorpr2rrr�test_callbacks�sB

�
�
�
��
�
�z CodecCallbackTest.test_callbackscs�gd�}|D]}t�d|t�|��qd�|dd�|D�7}�fdd�dD�D]<}dD]2}|D](}z|�||�Wq`ty�Yq`0q`qXqPdS)	N)r`�ignorerbr-rMrP�test.��cSsg|]}d|�qS)rxr)r]�errrrrrj%r#z6CodecCallbackTest.test_longstrings.<locals>.<listcomp>csg|]}|��qSrr)r]r2�r>rrrj&r#)�x�あuaä)rr.�
iso-8859-1rArV�utf-7�utf-16�utf-32)rCrD�lookup_errorr1re)r�errorsrzZuni�encrr{r�test_longstringssz"CodecCallbackTest.test_longstringsc
Cs�|jt|g|dd��R�|jt|g|dg�R�gd�}tt|��D]p}|D]f}t|�t||�urlqRg}tt|��D]&}||kr�|�|�q||�||�q||jt|g|�R�qRqJ||�}	|�t|	�|�dS)N���ztoo much)Zspamseggssspam�*g�?N)rXr7rmr�typer8r0�str)
r�exctype�args�msgZ	wrongargs�iZwrongargZcallargs�jrrrr�check_exceptionobjectargs/sz+CodecCallbackTest.check_exceptionobjectargscCsp|�tgd�d�|�tgd�d�|�tgd�d�|�tgd�d�|�tgd	�d
�|�tgd�d�dS)
N)r�gürkrrR�ouchz?'ascii' codec can't encode character '\xfc' in position 1: ouch)rr�r�r�z;'ascii' codec can't encode characters in position 1-3: ouch)ruüxrrr�z?'ascii' codec can't encode character '\xfc' in position 0: ouch)ruĀxrrr�zA'ascii' codec can't encode character '\u0100' in position 0: ouch)ru￿xrrr�zA'ascii' codec can't encode character '\uffff' in position 0: ouch)ru𐀀xrrr�zE'ascii' codec can't encode character '\U00010000' in position 0: ouch)r�rrrrr�test_unicodeencodeerrorHs<������z)CodecCallbackTest.test_unicodeencodeerrorcCs<|�tdtd�dddgd�|�tdtd�dddgd�dS)	Nrsg�rkrrRr�z8'ascii' codec can't decode byte 0xfc in position 1: ouch�z6'ascii' codec can't decode bytes in position 1-2: ouch)r�r$r%rrrr�test_unicodedecodeerrorhs��z)CodecCallbackTest.test_unicodedecodeerrorcCs^|�tgd�d�|�tgd�d�|�tgd�d�|�tgd�d�|�tgd	�d
�dS)N)r�rrRr�z4can't translate character '\xfc' in position 1: ouch)ugĀrkrrRr�z6can't translate character '\u0100' in position 1: ouch)ug￿rkrrRr�z6can't translate character '\uffff' in position 1: ouch)ug𐀀rkrrRr�z:can't translate character '\U00010000' in position 1: ouch)r�rr�r�z0can't translate characters in position 1-2: ouch)r�r)rrrr�test_unicodetranslateerrorts2�����z,CodecCallbackTest.test_unicodetranslateerrorc
Cs~|�ttjd�|�ttjtd��|�ttjtddddd��|�ttjtdtd�ddd��|�ttjtdddd��dS)Nr�r�rr}rr��)	rXr7rC�
strict_errors�	Exceptionrr$r%r)rrrr�test_badandgoodstrictexceptions�s2�����z1CodecCallbackTest.test_badandgoodstrictexceptionsc
Cs�|�ttjd�|�ttjtd��|�t�tddddd��d�|�t�tdtd�ddd��d�|�t�t	dddd��d�dS)	Nr�r�r�aあbrrR)rrR�a�b)
rXr7rC�
ignore_errorsrer0rr$r%r)rrrr�test_badandgoodignoreexceptions�s8��������z1CodecCallbackTest.test_badandgoodignoreexceptionsc
Cs�|�ttjd�|�ttjtd��|�ttjt��|�ttjt��|�t�tddddd��d�|�t�t	dt
d�ddd��d	�|�t�tdddd��d	�dS)
Nr�r�rr�rrR)rarRr�)��rR)rXr7rC�replace_errorsrer r&r0rr$r%r)rrrr� test_badandgoodreplaceexceptions�sL����������z2CodecCallbackTest.test_badandgoodreplaceexceptionscCs�|�ttjd�|�ttjtd��|�ttjtdtd�ddd��|�ttjtdddd��d}|d	7}d
�dd�|D��}|�	t�t
dd
|dddt|�d��d
�dd�|D��dt|�f�dS)Nr�r�rr�rrr})rr�	�
�c�di�ryi'�'i��順i?B�@B)i�i��rcss|]}t|�VqdS�N��chrr\rrrr^r#zOCodecCallbackTest.test_badandgoodxmlcharrefreplaceexceptions.<locals>.<genexpr>rs�bcss|]}d|VqdS)r5Nrr\rrrr^r#)rXr7rC�xmlcharrefreplace_errorsrer$r%r)r<r0rr)r�csr2rrr�*test_badandgoodxmlcharrefreplaceexceptions�s>�������z<CodecCallbackTest.test_badandgoodxmlcharrefreplaceexceptionsc
CsN|�ttjd�|�ttjtd��gd�}|D]�\}}|j|d���|�t�tdd|dddt|�d��|dt|�f�|�t�t	d|dddt|�d��|dt|�f�Wd�q01s�0Yq0gd	�}|D]d\}}|j|d
��>|�t�t
dtd|d�dd
d��|d
f�Wd�q�1�s>0Yq�dS)Nr�r�))r}z\u3042)�
�\x0a)rs�\x61�rS�\x00)�ÿ�\xff)uĀz\u0100)u￿z\uffff)u𐀀z
\U00010000�u􏿿z
\U0010ffff���z\ud800���z\udfff����z\ud800\udfff�r�rrsr�r))�ar�)�
r�)�r�)r�r�)rZr��brR)rXr7rC�backslashreplace_errorsre�subTestr0rrr)r$r%)r�testsr2rnr�rrr�)test_badandgoodbackslashreplaceexceptionssP��������$���z;CodecCallbackTest.test_badandgoodbackslashreplaceexceptionsc
Cs�|�ttjd�|�ttjtd��|�ttjtdtd�ddd��|�ttjtdddd��gd�}|D]n\}}|j|d	��J|�	t�t
dd
|dddt|�d��|dt|�f�Wd�qj1s�0YqjdS)Nr�r�rr�rrr}))r}z\N{HIRAGANA LETTER A}r�)uﯹzW\N{ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM})u󠁿z\N{CANCEL TAG}r�r�r�r�r�rsr�)rXr7rC�namereplace_errorsrer$r%r)r�r0rr)rr�r2rnrrr�$test_badandgoodnamereplaceexceptionsSs>�������z6CodecCallbackTest.test_badandgoodnamereplaceexceptionscCs�t�d�}|�t|d�|�t|td��|�t|tdddd��dD]J}|j|d��*|�t|td	|ddd��Wd�qF1s�0YqF|�|td	d
ddd��d�|�t	|t	d	t
d
�ddd��|�|t	d	t
d�ddd��d�dS)N�surrogateescaper�r���rr)rsu�u�r�rua�brR)��rRr�sa�b)r�rR)rCr�rXr7rer)r�rr0r$r%)rZsurrogateescape_errorsr2rrr�(test_badandgoodsurrogateescapeexceptions�sP
����$�����z:CodecCallbackTest.test_badandgoodsurrogateescapeexceptionscCs�t�d�}|�t|d�|�t|td��|�t|tdddd��dD]j}|j|d��J|�t|t|d	ddd��|�t|t|d	�	|�ddd��Wd�qF1s�0YqFd
D]N}|j|d��.|�t|td|dt
|�d��Wd�q�1s�0Yq�gd
�}|D]�\}}}}|j|||d���|�|t|d	|dddt
|�d��|dt
|�f�|�|t|td|d|�d�dd|d��|dd�d|f�Wd�n1�s�0Y�qdS)N�
surrogatepassr�r�r�rr)rV�utf-16le�utf-16be�utf-32le�utf-32be��encodingrs)r�r�r�r�r))rVr�s�r�)r�r�s�rR)r�r�s�rR)r�r�s�r�)r�r�s�r�)rVr�s�r�)r�r�s��rR)r�r�s�rR)r�r�s��r�)r�r�s�r�)rVr�s��r�)r�r�s��rR)r�r�s��rR)r�r�s���r�)r�r�s��r�)r�r�rZr�r�r�)
rCr�rXr7rer)r�rr$r1rr0r%)rZsurrogatepass_errorsr�r2r�r��nrrr�&test_badandgoodsurrogatepassexceptions�sl
�����$�$���
���z8CodecCallbackTest.test_badandgoodsurrogatepassexceptionscsfd}d}|D]T�t�d�fdd��|D]}|�tdj|d�q(dD]\}}|�t|j|d�qDqdS)N)	r��foo)rrRr��r�rr��r�N�r�r�r�r�)rr.r~rAztest.badhandlercs�Sr�r)r|��resrr�<lambda>�r#z:CodecCallbackTest.test_badhandlerresults.<locals>.<lambda>r})�rr��rVr�)rs+x-)rCrDrXr7r1rW)r�resultsZencsr�rZrr�r�test_badhandlerresults�s$��z(CodecCallbackTest.test_badhandlerresultscCs||�tjt�d��|�tjt�d��|�tjt�d��|�tjt�d��|�tjt�d��|�tjt�d��dS)Nr`rwr-rMrP)r0rCr�r�r�r�r�r�rrrr�test_lookups���zCodecCallbackTest.test_lookupc
s��fdd�}t�d|�dD]0\}}�|�|d�}|�|d�d�|��qdD]�\}}�|j|d��v|�t��}|�|d�Wd�n1s�0Y|j}|�|jd	�|�|j	d
�|�|j
|�Wd�qR1s�0YqRdS)Ncs$t|t�r�|jfStd|��dS�Nr4�r6rrr7rT�rrrr s

zBCodecCallbackTest.test_encode_nonascii_replacement.<locals>.handle�test.replacing))r�[¤]r_)r~�[€]u½¾)rAr�uœŸ�[�]))rV�[�]�🐍)r�r�r�)r�r�r�r�rrR)rCrDr1r0r�rXr�	exceptionr
rr)rrr��inputr��cmrrr�r� test_encode_nonascii_replacements*z2CodecCallbackTest.test_encode_nonascii_replacementc
s��fdd�}t�d|�dD]�\}}�|j|d��v|�t��}|�|d�Wd�n1s`0Y|j}|�|jd�|�|j	d�|�|j
|�Wd�q1s�0YqdS)Ncs$t|t�r�|jfStd|��dSr�r�rTr�rr�	unencrepl<s

zHCodecCallbackTest.test_encode_unencodable_replacement.<locals>.unencreplztest.unencreplhandler))rr��½)r~r�uœ)rAr�r�)rVr���)r�r�r�)r�r�r�r�rrR)rCrDr�rXrr1r�r0r
rr)rr�r�r�r�rrr�r�#test_encode_unencodable_replacement;s*z5CodecCallbackTest.test_encode_unencodable_replacementc	s��fdd�}t�d|�dD]b\}}�|j|d��<|�|d�}|�|d�|��d�|��Wd�q1st0YqdS)Ncs$t|t�r�|jfStd|��dSr�r�rTr�rrrTs

z?CodecCallbackTest.test_encode_bytes_replacement.<locals>.handler�))rr����)r~r�r�)rAr�r�)rVr�r�)r�r�r�)r�r�r�)r�r������)r�r�r�r�r�r�)rCrDr�r1r0)rrr�r�r�rr�r�test_encode_bytes_replacementSs
z/CodecCallbackTest.test_encode_bytes_replacementc
s��fdd�}t�d|�d}gt�dddg��t�dgd	���RD]�\}�|j|�d
���|�t��}|�|d�Wd�n1s�0Y|j}|�	|j
d�|�	|jd�|�	|j|�|�	|j
d
�Wd�qB1s�0YqBdS)Ncs$t|t�r�|jfStd|��dSr�r�rTr�rrrjs

zCCodecCallbackTest.test_encode_odd_bytes_replacement.<locals>.handler�r�)r�r�r�rr)r�r�)r�sabrrsabcde)r�rrrRzsurrogates not allowed)rCrD�	itertools�productr�rXrr1r�r0r
rr�reason)rrr�r�r�rrr�r�!test_encode_odd_bytes_replacementis(����*z3CodecCallbackTest.test_encode_odd_bytes_replacementcCs&|�ttjd�|�ttjdd�dS)Nr�z
test.dummy)rXr7rCrDrrrr�test_badregistercall�sz&CodecCallbackTest.test_badregistercallcCs|�ttj�dSr�)rXr7rCr�rrrr�test_badlookupcall�sz$CodecCallbackTest.test_badlookupcallcCs|�ttjd�dS)N�test.unknown)rX�LookupErrorrCr�rrrr�test_unknownhandler�sz%CodecCallbackTest.test_unknownhandlercCsJd}d�dd�|D��}t�dtj�dD]}dD]}|�||�q2q*dS)N)
r�r��2r�i�ryi�r�iP�r�i �r�rcSsg|]}t|��qSrr�)r]r|rrrrj�r#z;CodecCallbackTest.test_xmlcharrefvalues.<locals>.<listcomp>�test.xmlcharrefreplace)rrA)r-r)r<rCrDr�r1)r�vr2r�rzrrr�test_xmlcharrefvalues�sz'CodecCallbackTest.test_xmlcharrefvaluesc	Cs�|�tdjdd�dd�}t�d|�|�tdjdd�|�tdjdd�|�td	jdd�|�td
jdd�|�tdjdd�|�tdjd
d�dd�}t�d|�|�tdjdd�t�}t�d|j�d|_|�	d�dd�d�d|_|�	d�dd�d�d|_|�t
djdd�d|_|�	d�dd�d�d|_|�	d�dd�d�d|_|�t
djdd�d|_|�	d�d
d�d�Gdd�dt�}|�ttj
dd d!di�|�ttj
dd |��|�ttj
dd d!tjdi�dS)"Nr�rr�cSsdS�Nr�rrTrrr�baddecodereturn1�sz=CodecCallbackTest.test_decodehelper.<locals>.baddecodereturn1ztest.baddecodereturn1�\rqs\x0s\x0ys
\Uffffeeees\uyyyy�raw-unicode-escapecSsdS�N)raNrrTrrr�baddecodereturn2�sz=CodecCallbackTest.test_decodehelper.<locals>.baddecodereturn2ztest.baddecodereturn2�test.posreturnr�s�0z<?>0���z<?><?>���rrRr
r��s\uyyyy0c@seZdZdd�ZdS)z.CodecCallbackTest.test_decodehelper.<locals>.DcSst�dSr���
ValueError�r�keyrrr�__getitem__�sz:CodecCallbackTest.test_decodehelper.<locals>.D.__getitem__N�rrrrrrrr�D�srr`�)rXr�rWrCrDr7rrrr0�
IndexErrorrcrerur�sys�
maxunicode)rrr
�handlerrrrr�test_decodehelper�s@z#CodecCallbackTest.test_decodehelperc	Csv|�tdjdd�dd�}t�d|�|�tdjdd�dd�}t�d	|�|�tdjdd	�t�}t�d
|j�d|_|�	d�dd
�d
�d|_|�	d�dd
�d�d|_|�t
djdd
�d|_|�	d�dd
�d
�d|_|�	d�dd
�d�d|_|�t
djdd
�d|_Gdd�dt�}dD]L}|�ttj
d|ddi�|�ttj
d||��|�ttj
d|ddi��q$dS)Nr�rr�cSsdSrrrTrrr�badencodereturn1�sz=CodecCallbackTest.test_encodehelper.<locals>.badencodereturn1ztest.badencodereturn1cSsdSr	rrTrrr�badencodereturn2�sz=CodecCallbackTest.test_encodehelper.<locals>.badencodereturn2ztest.badencodereturn2rr�uÿ0s<?>0rs<?><?>r
rrRs<?>r�rc@seZdZdd�ZdS)z.CodecCallbackTest.test_encodehelper.<locals>.DcSst�dSr�rrrrrrsz:CodecCallbackTest.test_encodehelper.<locals>.D.__getitem__Nrrrrrrsr)r`rbr-rMrPrri,)rXr�r1rCrDr7rrrr0rrcrerdr)rrrrrrzrrr�test_encodehelper�s6z#CodecCallbackTest.test_encodehelperc	Cs�td�}t�d|j�gd�}|D]`\}}d�|�|}|j|d��.d|_|�|d�}|�|d�Wd�q"1sx0Yq"dS)Nr|�
test.bug36819)r�r�)r�s܀)r�s܀)z
iso-8859-6r�Zabcdr�r�abcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdx)	rrCrDrr1r�rrWr0)rrZ	testcasesr�rr�Zdecodedrrr�test_decodehelper_bug36819sz,CodecCallbackTest.test_decodehelper_bug36819c
Cst�}t�d|j�d}gd�}|dg7}tjdkr<ddg}d|_|D]�}|j|d	��|d
|_|�	t
��}|�|d�Wd�n1s�0Y|j}|�
|jd�|�
|jd�|�
|j|�Wd�qF1s�0YqFtjdk�r`d
|_|�	t
��}t�d
|d�Wd�n1�s&0Y|j}|�
|jd�|�
|jd�|�
|j|�d|_|D]X}|j|d	��4d
|_|�|d�}|�
|�|�d�Wd�n1�s�0Y�qjtjdk�rd
|_t�d
|d�}|�
|d��d�|�
|dt|��dS)Nruabcd�)r�latin1rVr�r�rA�win32�mbcsZoemr�r�rr�ri�r|r rr)rrCrDrr�platformrr�rrXrr1r�r0r
rrZcode_page_encoderWr)rrr��	encodingsr�r�r�encodedrrr�test_encodehelper_bug36819"sH

*..6z,CodecCallbackTest.test_encodehelper_bug36819cCsBGdd�dt�}|�tdjdtjdi�|�tdjddi�dS)Nc@seZdZdd�ZdS)z1CodecCallbackTest.test_translatehelper.<locals>.DcSst�dSr�rrrrrrUsz=CodecCallbackTest.test_translatehelper.<locals>.D.__getitem__NrrrrrrTsrr�rrr)rcrXr�	translaterrr7)rrrrr�test_translatehelperNsz&CodecCallbackTest.test_translatehelpercCsDtd�dtd�dtd�dtd�di}d	D]}d
|}|�|�q(dS)N�&z&amp;�<z&lt;�>z&gt;�"z&quot;)rr�r�ryzabc<def>ghi)r:r))rrfr��textrrr�test_bug828737[s�z CodecCallbackTest.test_bug828737c	Cs�gd�}dd�}t�d|�|D]>\}}|�t��|�|d�Wd�q 1sT0Yq dd�}t�d|�|D]\}}|�|�|d�d�qxdS)	N)r�)rs++r�)r�r�)r�r�)rq�\u123g)rr1cSs$t|t�rd|_dStd|��dS)Nr���䉂rr4�r6r$rr7rTrrr�	replacingrs
z?CodecCallbackTest.test_mutatingdecodehandler.<locals>.replacingr�cSs$t|t�rd|_dStd|��dS)Nr#r2r4r4rTrrr�mutating~s
z>CodecCallbackTest.test_mutatingdecodehandler.<locals>.mutatingz
test.mutatingr3)rCrDrXr7rWr0)rZbaddatar5r��datar6rrr�test_mutatingdecodehandlergs
,z,CodecCallbackTest.test_mutatingdecodehandlercCs�dd�}t�d|�|�d�dd�d�|�d�dd�d�|�d	�d
d�d�|�d�d
d�d�dd�}t�d|�|�d�dd�d�|�d�dd�d�dS)NcSs(t|t�rd|jdfStd|��dS)Nr�rr4)r6r$r
r7rTrrr�forward_shorter_than_end�s
zPCodecCallbackTest.test_crashing_decode_handler.<locals>.forward_shorter_than_endztest.forward_shorter_than_ends�����z	utf-16-leu����Øs�����z	utf-16-besz	utf-32-leu
���ᄑsz	utf-32-becSs*t|t�rd|_d|jfStd|��dS)Nsr�r4)r6r$rr
r7rTrrr�replace_with_long�s

zICodecCallbackTest.test_crashing_decode_handler.<locals>.replace_with_longztest.replace_with_longr�r�u�r�u�)rCrDr0rW)rr9r:rrr�test_crashing_decode_handler�sL���������
�
�z.CodecCallbackTest.test_crashing_decode_handlercs"tjtjtjtjtjtjt�d�t�d�g}tt	t
fD]�G�fdd�dt�}|D]B}|j|�d�� |�
t||��Wd�qR1s�0YqRG�fdd�dt�}|D]l}|j|�d��H|�
t|f��||��Wd�n1s�0YWd�q�1�s0Yq�q6dS)Nr�r�cseZdZ�ZdS�zACodecCallbackTest.test_fake_error_class.<locals>.FakeUnicodeErrorN�rrr�	__class__r��clsrr�FakeUnicodeError�srA)rZerror_classcseZdZ�ZdSr<r=rr?rrrA�s)rCr�r�r�r�r�r�r�rr$r)r�r�rXr7r�)r�handlersrArrr?r�test_fake_error_class�s&�
0z'CodecCallbackTest.test_fake_error_classN)+rrrr3rGrKrOrQrYrgrvr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr!r(r*r0r8r;rCrrrrr,PsP
9 (%:.,H;6,
$3r,�__main__)rCZ
html.entitiesr9r�rrHZunittestrrrrr r$r!r&r)r'r*r+ZTestCaser,r�mainrrrr�<module>s4


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists