403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.217.130
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/__pycache__/test_codeccallbacks.cpython-36.opt-2.pyc
3

�
�^/��@s�ddlZddlZddlZddlZddlZddlZGdd�d�ZGdd�de	�Z
Gdd�de	�ZGdd	�d	e�Z
Gd
d�de�ZGdd
�d
e�ZGdd�de�ZGdd�de�ZGdd�dej�Zedkr�ej�dS)�Nc@seZdZdd�Zdd�ZdS)�	PosReturncCs
d|_dS)Nr)�pos)�self�r�8/opt/alt/python36/lib64/python3.6/test_codeccallbacks.py�__init__szPosReturn.__init__cCs>|j}|}|dkr t|j�|}||jkr6t|j�|_d|fS)Nrz<?>)r�len�object�start)r�excZoldposZrealposrrr�handles
zPosReturn.handleN)�__name__�
__module__�__qualname__rrrrrrrsrc@seZdZdd�ZdS)�BadStartUnicodeEncodeErrorcCstj|ddddd�g|_dS)N�ascii�r��bad)�UnicodeEncodeErrorrr
)rrrrrsz#BadStartUnicodeEncodeError.__init__N)r
rrrrrrrrsrc@seZdZdd�ZdS)�BadObjectUnicodeEncodeErrorcCstj|ddddd�g|_dS)Nrrrrr)rrr	)rrrrr!sz$BadObjectUnicodeEncodeError.__init__N)r
rrrrrrrr src@seZdZdd�ZdS)�NoEndUnicodeDecodeErrorcCs tj|dtd�ddd�|`dS)Nr�rrr)�UnicodeDecodeErrorr�	bytearray�end)rrrrr'sz NoEndUnicodeDecodeError.__init__N)r
rrrrrrrr&src@seZdZdd�ZdS)�BadObjectUnicodeDecodeErrorcCs"tj|dtd�ddd�g|_dS)Nrrrrr)rrrr	)rrrrr-sz$BadObjectUnicodeDecodeError.__init__N)r
rrrrrrrr,src@seZdZdd�ZdS)�NoStartUnicodeTranslateErrorcCstj|dddd�|`dS)Nrrrr)�UnicodeTranslateErrorrr
)rrrrr3sz%NoStartUnicodeTranslateError.__init__N)r
rrrrrrrr2src@seZdZdd�ZdS)�NoEndUnicodeTranslateErrorcCstj|dddd�|`dS)Nrrrr)rrr)rrrrr9sz#NoEndUnicodeTranslateError.__init__N)r
rrrrrrrr8src@seZdZdd�ZdS)�NoObjectUnicodeTranslateErrorcCstj|dddd�|`dS)Nrrrr)rrr	)rrrrr?sz&NoObjectUnicodeTranslateError.__init__N)r
rrrrrrrr >sr c@s,eZdZdd�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&dIS)J�CodecCallbackTestcCs0d}|j|jdd�d�|j|jdd�d�dS)Nuスパモ änd eggsr�xmlcharrefreplaces&&#12473;&#12497;&#12514; &#228;nd eggszlatin-1s!&#12473;&#12497;&#12514; �nd eggs)�assertEqual�encode)r�srrr�test_xmlcharrefreplaceEs

z(CodecCallbackTest.test_xmlcharrefreplacecCsddd�}tjd|�d}d}|j|jdd�|�d}|j|jdd�|�d	}|j|jd
d�|�dS)NcSs�t|t�std|��g}x`|j|j|j�D]J}y|jdtjj	t
|��Wq.tk
rv|jdt
|��Yq.Xq.Wdj|�|jfS)Nzdon't know how to handle %rz&%s;z&#%d;r)
�
isinstancer�	TypeErrorr	r
r�append�htmlZentitiesZcodepoint2name�ord�KeyError�join)r�l�crrr�xmlcharnamereplaceWs
zECodecCallbackTest.test_xmlcharnamereplace.<locals>.xmlcharnamereplaceztest.xmlcharnamereplaceu«ℜ» = 〈ሴ€〉s0&laquo;&real;&raquo; = &lang;&#4660;&euro;&rang;rs$�&real;� = &lang;&#4660;&euro;&rang;zlatin-1s�&real;� = &lang;&#4660;�&rang;ziso-8859-15)�codecs�register_errorr#r$)rr0�sin�soutrrr�test_xmlcharnamereplaceSsz)CodecCallbackTest.test_xmlcharnamereplacecCsddd�}tjd|�d}d}|j|jdd�|�d}|j|jdd�|�d	}|j|jd
d�|�dS)NcSsdt|t�std|��g}x4|j|j|j�D]}|jtj|dt	|���q.Wddj
|�|jfS)Nzdon't know how to handle %rz0x%xz
%sz, )r'rr(r	r
rr)�unicodedata�namer+r-)rr.r/rrr�uninamereplacevs
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-8000zlatin-1sA�ETHIOPIC SYLLABLE SEE�CJK UNIFIED IDEOGRAPH-8000ziso-8859-15)r1r2r#r$)rr8r3r4rrr�test_uninamereplacems	z%CodecCallbackTest.test_uninamereplacecCsPd}d}|j|jdd�|�d}|j|jdd�|�d}|j|jdd�|�dS)	Nua¬ሴ€耀􏿿s!a\xac\u1234\u20ac\u8000\U0010ffffr�backslashreplacesa�\u1234\u20ac\u8000\U0010ffffzlatin-1sa�\u1234�\u8000\U0010ffffziso-8859-15)r#r$)rr3r4rrr�test_backslashescape�sz&CodecCallbackTest.test_backslashescapecCsPd}d}|j|jdd�|�d}|j|jdd�|�d}|j|jdd�|�dS)	Nua¬ሴ€耀􏿿s[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}\U0010ffffzlatin-1sDa�\N{ETHIOPIC SYLLABLE SEE}�\N{CJK UNIFIED IDEOGRAPH-8000}\U0010ffffziso-8859-15)r#r$)rr3r4rrr�test_nameescape�sz!CodecCallbackTest.test_nameescapecCsJdd�}tjd|�d}d}|j|jdd�|�d}|jt|jdd�dS)NcSsFt|t�std|��|j|j|jd�dkr>d|jdfS|�dS)Nzdon't know how to handle %r�s���)r'rr(r	r
)rrrr�relaxedutf8�s

z>CodecCallbackTest.test_decoding_callbacks.<locals>.relaxedutf8ztest.relaxedutf8sab��cü����u	abcüzutf-8s����)r1r2r#�decode�assertRaisesr)rr@r3r4rrr�test_decoding_callbacks�s
z)CodecCallbackTest.test_decoding_callbackscCs�tdd�dD��}d}d}|jtj|d|�d|�d}|jttj|d|�d	|td
�<d}d}|jtj|d
|�d|�d|td
�<|jttj|d
|�dS)Ncss(|] }t|�td|j�d�fVqdS)r>rN)r+�bytes�upper)�.0r/rrr�	<genexpr>�sz7CodecCallbackTest.test_charmapencode.<locals>.<genexpr>Zabcdefgh�abcsAABBCC�strictrZabcAsXYZ�?ZabcDEFsAABBCCXYZXYZXYZ�replaceZXYZ)�dictr#r1�charmap_encoderB�UnicodeErrorr+r()r�charmapr3r4rrr�test_charmapencode�sz$CodecCallbackTest.test_charmapencodecCs�tjjdtf���|jtdjd�tdjd��dkr�dd�}|j	djdd�d�|j	djdd	�d
�|j	djdd�d�t
jd
|�|j	djdd
�d�WdQRXdS)Nz*unicode_internal codec has been deprecatedszunicode-internalr?�cSst|t�std|��dS)Nzdon't know how to handle %r�r)rRr)r'rr()rrrr�handler_unicodeinternal�s
zMCodecCallbackTest.test_decodeunicodeinternal.<locals>.handler_unicodeinternal�ignorerKu�r:z\x00ztest.huiz)�test�support�check_warnings�DeprecationWarningrBrrArr$r#r1r2)rrSrrr�test_decodeunicodeinternal�s*




z,CodecCallbackTest.test_decodeunicodeinternalcCs�dd�}tjd|�dd�}tjd|�d}|j|jdd�d	�|j|jdd�d
�|jdjdd�d
�|jdjdd�d�|jtjddtd�di�dd�|jdjdd�d�|jdjdd�d�dS)Ncsjt�j�j�}t�t�r,�fdd�|D�}n*t�t�rJ�fdd�|D�}ntd���ddj|��jfS)Ncsg|]}dt�j|��qS)z<%d>)r+r	)rFr)rrr�
<listcomp>�szFCodecCallbackTest.test_callbacks.<locals>.handler1.<locals>.<listcomp>csg|]}d�j|�qS)z<%d>)r	)rFr)rrrrZszdon't know how to handle %rz[%s]r)�ranger
rr'rrr(r-)r�rr.r)rr�handler1�s

z2CodecCallbackTest.test_callbacks.<locals>.handler1z
test.handler1csJt�t�std����fdd�t�j�j�D�}ddj|��jdfS)Nzdon't know how to handle %rcsg|]}d�j|�qS)z<%d>)r	)rFr)rrrrZ
szFCodecCallbackTest.test_callbacks.<locals>.handler2.<locals>.<listcomp>z[%s]rr)r'rr(r[r
rr-)rr.r)rr�handler2s
z2CodecCallbackTest.test_callbacks.<locals>.handler2z
test.handler2s���rz[<129>][<128>][<255>]z[<129>][<128>]s\u3042\u3xxxzunicode-escapeuあ[<92><117><51>]xxxs\u3042\u3xxuあ[<92><117><51>]xxsabc�a�zrz
z[<98>][<99>]ugüßrksg[<252><223>]rkugüßs
g[<252><223>])r1r2r#rA�charmap_decoder+r$)rr]r^r%rrr�test_callbacks�s4






z CodecCallbackTest.test_callbackscs�ddddddg}x"|D]}tjd|tj|��qWd�|d	d
�|D�7}x\�fdd
�dD�D]F}x@dD]8}x2|D]*}y|j||�Wqrtk
r�YqrXqrWqhWq^WdS)NrIrTrKr"r:r<ztest.i�cSsg|]}d|�qS)ztest.r)rF�errrrrrZ<sz6CodecCallbackTest.test_longstrings.<locals>.<listcomp>csg|]}|��qSrr)rFr%)r.rrrZ=s�x�あ�aär�latin-1�
iso-8859-1�iso-8859-15�utf-8�utf-7�utf-16�utf-32)rdrerf)rrgrhrirjrkrlrm)r1r2�lookup_errorr$rN)r�errorsrcZuni�encr)r.r�test_longstrings3s

z"CodecCallbackTest.test_longstringsc
Cs�|jt|f|dd���|jt|f|dg��ddddddg}x�tt|��D]v}xp|D]h}t|�t||�krtqZg}x6tt|��D]&}||kr�|j|�q�|j||�q�W|jt|f|��qZWqPW||�}	|jt|	�|�dS)	Nrztoo muchZspamseggssspam�*g�?���)rBr(r[r�typer)r#�str)
r�exctype�args�msgZ	wrongargs�iZwrongargZcallargs�jrrrr�check_exceptionobjectargsFs
z+CodecCallbackTest.check_exceptionobjectargscCs�|jtdddddgd�|jtdddddgd�|jtdd	d
ddgd�|jtddd
ddgd
�|jtddd
ddgd�|jtddd
ddgd�dS)Nrugürkrr>�ouchz?'ascii' codec can't encode character '\xfc' in position 1: ouchrQz;'ascii' codec can't encode characters in position 1-3: ouchuüxrz?'ascii' codec can't encode character '\xfc' in position 0: ouchuĀxzA'ascii' codec can't encode character '\u0100' in position 0: ouchu￿xzA'ascii' codec can't encode character '\uffff' in position 0: ouchu𐀀xzE'ascii' codec can't encode character '\U00010000' in position 0: ouch)r{r)rrrr�test_unicodeencodeerror_s0z)CodecCallbackTest.test_unicodeencodeerrorcCs<|jtdtd�dddgd�|jtdtd�dddgd�dS)	Nrsg�rkrr>r|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{rr)rrrr�test_unicodedecodeerrorsz)CodecCallbackTest.test_unicodedecodeerrorcCsr|jtddddgd�|jtddddgd�|jtddddgd	�|jtd
dddgd�|jtddddgd
�dS)Nugürkrr>r|z4can't translate character '\xfc' in position 1: ouchugĀrkz6can't translate character '\u0100' in position 1: ouchug￿rkz6can't translate character '\uffff' in position 1: ouchug𐀀rkz:can't translate character '\U00010000' in position 1: ouchr~z0can't translate characters in position 1-2: ouch)r{r)rrrr�test_unicodetranslateerror�s(




z,CodecCallbackTest.test_unicodetranslateerrorc	Cs~|jttjd�|jttjtd��|jttjtddddd��|jttjtdtd�ddd��|jttjtdddd��dS)Nrrr|ruあrr��)	rBr(r1�
strict_errors�	Exceptionrrrr)rrrr�test_badandgoodstrictexceptions�s(
z1CodecCallbackTest.test_badandgoodstrictexceptionscCs�|jttjd�|jttjtd��|jtjtddddd��d	�|jtjtdtd�ddd��d
�|jtjt	dddd��d�dS)Nrrr|ruaあbrr>rsa�b)rr>)rr>)rr>)
rBr(r1�
ignore_errorsrNr#rrrr)rrrr�test_badandgoodignoreexceptions�s(
z1CodecCallbackTest.test_badandgoodignoreexceptionscCs�|jttjd�|jttjtd��|jttjt��|jttjt��|jtjtddddd��d
�|jtjt	dt
d�ddd��d�|jtjtdddd��d�dS)
Nrrr|ruaあbrr>rJsa�b��)rJr>)r�r>)r�r>)rBr(r1�replace_errorsrNrrr#rrrr)rrrr� test_badandgoodreplaceexceptions�s8
z2CodecCallbackTest.test_badandgoodreplaceexceptionscCs�|jttjd�|jttjtd��|jttjtdtd�ddd��|jttjtdddd��d}|d7}djdd�|D��}|j	tjt
dd|dddt|�d��djdd�|D��dt|�f�dS)Nrrr|rr�rruあ�	�
�c�d�����'�'韆順�?B�@B����rcss|]}t|�VqdS)N)�chr)rFr/rrrrG'szOCodecCallbackTest.test_badandgoodxmlcharrefreplaceexceptions.<locals>.<genexpr>r_�bcss|]}d|VqdS)z&#%d;Nr)rFr/rrrrG-s)rrr�r�r�r�r�r�r�r�r�r�r�r�)r�r�)rBr(r1�xmlcharrefreplace_errorsrNrrrr-r#rr)r�csr%rrr�*test_badandgoodxmlcharrefreplaceexceptionss2
z<CodecCallbackTest.test_badandgoodxmlcharrefreplaceexceptionscCsF|jttjd�|jttjtd��d&d'd(d)d*d+d,d-d.d/d0d1g}x�|D]�\}}|j|d��x|jtjtdd|dddt|�d��|dt|�f�|jtjt	d|dddt|�d��|dt|�f�WdQRXqFWd2d3d4d5g}xX|D]P\}}|j|d#��4|jtjt
dtd|d$�dd%d��|d%f�WdQRX�q�WdS)6Nrrr|�あ�\u3042�
�\x0ar_�\x61r?�\x00�ÿ�\xff�Ā�\u0100�￿�\uffff�𐀀�
\U00010000�􏿿�
\U0010ffff���\ud800���\udfff����\ud800\udfff)rurr�r�a�
�r�)rD�br>)r�r�)r�r�)r_r�)r?r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)rBr(r1�backslashreplace_errorsrN�subTestr#rrrrr)r�testsr%r\r�rrr�)test_badandgoodbackslashreplaceexceptions0sV
 
z;CodecCallbackTest.test_badandgoodbackslashreplaceexceptionscCs�|jttjd�|jttjtd��|jttjtdtd�ddd��|jttjtdddd��ddddddd d!g}xb|D]Z\}}|j|d��@|j	tjt
dd|dddt|�d��|dt|�f�WdQRXqxWdS)"Nrrr|rr�rr�あ�\N{HIRAGANA LETTER A}r?�\x00�ﯹ�W\N{ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM}�󠁿�\N{CANCEL TAG}�􏿿�
\U0010ffff���\ud800���\udfff����\ud800\udfff)rur_r�)r�r�)r?r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)rBr(r1�namereplace_errorsrNrrrr�r#rr)rr�r%r\rrr�$test_badandgoodnamereplaceexceptionsjs>
z6CodecCallbackTest.test_badandgoodnamereplaceexceptionscCs�tjd�}|jt|d�|jt|td��|jt|tdddd��x>dD]6}|j|d
�� |jt|td|ddd��WdQRXqHW|j|tdddd
d��d�|jt	|t	dt
d�ddd��|j|t	dt
d�dd
d��d�dS)N�surrogateescaperrr|��rrr_����)rurua�br>��r�sa�b)r_r�r�)r�r>)r�r>)r1rnrBr(rNrr�rr#rr)rZsurrogateescape_errorsr%rrr�(test_badandgoodsurrogateescapeexceptions�s>


 z:CodecCallbackTest.test_badandgoodsurrogateescapeexceptionscCs�tjd�}|jt|d�|jt|td��|jt|tdddd��x^d(D]V}|j|d��@|jt|t|d
ddd��|jt|t|d
j	|�ddd��WdQRXqHWxBd)D]:}|j|d��$|jt|td|dt
|�d��WdQRXq�Wd*d+d,d-d.d/d0d1d2d3d4d5d6d7d8g}x�|D]�\}}}}|j|||d$���|j|t|d
|d%ddt
|�d��|dt
|�f�|j|t|td&|d|�d'�dd|d��|dd�d|f�WdQRX�qWdS)9N�
surrogatepassrrr|��rr�utf-8�utf-16le�utf-16be�utf-32le�utf-32be)�encodingr_�����)rur��r~��r>����rQ������������������������������)r�rurDr�r�r�)r�r�r�r�r�)r�r�r�)r�r�r�r~)r�r�r�r>)r�r�r�r>)r�r�r�rQ)r�r�r�rQ)r�r�r�r~)r�r�r�r>)r�r�r�r>)r�r�r�rQ)r�r�r�rQ)r�r�r�r~)r�r�r�r>)r�r�r�r>)r�r�r�rQ)r�r�r�rQ)
r1rnrBr(rNrr�rrr$rr#r)rZsurrogatepass_errorsrpr%r�r��nrrr�&test_badandgoodsurrogatepassexceptions�sp


&
$z8CodecCallbackTest.test_badandgoodsurrogatepassexceptionscs�d}d}xz|D]r�tjd
�fdd��x|D]}|jtd
j|d
�q,Wx8d!D]0\}}tjj��|jt|j|d
�WdQRXqLWqWdS)"Nrr�foorr>r~r�latin-1�
iso-8859-1�iso-8859-15ztest.badhandlercs�S)Nr)rd)�resrr�<lambda>sz:CodecCallbackTest.test_badhandlerresults.<locals>.<lambda>uあr��utf-8�utf-7�+x-�unicode-internalr��rr>r~�r�rr~�r�N�r��r�rr~�r�N�r�)	rrr�r�r�r�r�r�r�r�)rr�r�r��rr��r�r��r�r��r�r�)r�r�rr)	r1r2rBr(r$rUrVrWrA)r�resultsZencsrprDr)r�r�test_badhandlerresultss*


z(CodecCallbackTest.test_badhandlerresultscCs||jtjtjd��|jtjtjd��|jtjtjd��|jtjtjd��|jtjtjd��|jtjtjd��dS)NrIrTr"r:r<)r#r1r�rnr�r�r�r�)rrrr�test_lookup(szCodecCallbackTest.test_lookupcCs8dd�}tjd|�xdD]}|jtdj|d�qWdS)	NcSs$t|t�rd|jfStd|��dS)Nu䉂zdon't know how to handle %r)r'rrr()rrrr�	unencrepl:s

z@CodecCallbackTest.test_unencodablereplacement.<locals>.unencreplztest.unencreplhandlerr�
iso-8859-1�iso-8859-15u䉂)rrr)r1r2rBrr$)rrrprrr�test_unencodablereplacement9s
z-CodecCallbackTest.test_unencodablereplacementcCs&|jttjd�|jttjdd�dS)Nrrz
test.dummy)rBr(r1r2)rrrr�test_badregistercallHsz&CodecCallbackTest.test_badregistercallcCs|jttj�dS)N)rBr(r1rn)rrrr�test_badlookupcallOsz$CodecCallbackTest.test_badlookupcallcCs|jttjd�dS)Nztest.unknown)rB�LookupErrorr1rn)rrrr�test_unknownhandlerTsz%CodecCallbackTest.test_unknownhandlerc
CsRd}djdd�|D��}tjdtj�x&dD]}xdD]}|j||�q6Wq,WdS)Nr�r��2r�������'�P�順� ��@BrcSsg|]}t|��qSr)r�)rFrdrrrrZ_sz;CodecCallbackTest.test_xmlcharrefvalues.<locals>.<listcomp>�test.xmlcharrefreplacer�iso-8859-15r")
rr
r�rr�rrrrrrrr)rr)r"r)r-r1r2r�r$)r�vr%rprcrrr�test_xmlcharrefvaluesYs

z'CodecCallbackTest.test_xmlcharrefvaluescCs�|jtdjdd�dd�}tjd|�|jtdjdd�|jtdjdd�|jtd	jdd�|jtd
jdd�|jtdjdd�|jtdjd
d�dd�}tjd|�|jtdjdd�t�}tjd|j�d|_|j	djdd�d�d |_|j	djdd�d�d!|_|jt
djdd�d|_|j	djdd�d�d|_|j	djdd�d�d|_|jt
djdd�d|_|j	djd
d�d�Gdd�dt�}|jttj
ddddi�|jttj
dd|��|jttj
dddtjdi�dS)"Nr�rztest.unknowncSsdS)Nrrr)rrrr�baddecodereturn1ksz=CodecCallbackTest.test_decodehelper.<locals>.baddecodereturn1ztest.baddecodereturn1�\zunicode-escapes\x0s\x0ys
\Uffffeeees\uyyyyzraw-unicode-escapecSsdS)NrJ)rJNr)rrrr�baddecodereturn2usz=CodecCallbackTest.test_decodehelper.<locals>.baddecodereturn2ztest.baddecodereturn2ztest.posreturnrs�0z<?>0r>z<?><?>r~z<?>�s\uyyyy0c@seZdZdd�ZdS)z.CodecCallbackTest.test_decodehelper.<locals>.DcSst�dS)N)�
ValueError)r�keyrrr�__getitem__�sz:CodecCallbackTest.test_decodehelper.<locals>.D.__getitem__N)r
rrr!rrrr�D�sr"rI�rs������)rBrrAr1r2r(rrrr#�
IndexErrorrLrNrar�sys�
maxunicode)rrr�handlerr"rrr�test_decodehelperes@z#CodecCallbackTest.test_decodehelpercCsz|jtdjdd�dd�}tjd|�|jtdjdd�dd�}tjd	|�|jtdjdd	�t�}tjd
|j�d|_|j	djdd
�d
�d|_|j	djdd
�d�d|_|jt
djdd
�d|_|j	djdd
�d
�d|_|j	djdd
�d�d|_|jt
djdd
�d|_Gdd�dt�}xTdD]L}|jttj
d|ddi�|jttj
d||��|jttj
d|ddi��q&WdS) Nr�rztest.unknowncSsdS)Nrrr)rrrr�badencodereturn1�sz=CodecCallbackTest.test_encodehelper.<locals>.badencodereturn1ztest.badencodereturn1cSsdS)NrJ)rJNr)rrrr�badencodereturn2�sz=CodecCallbackTest.test_encodehelper.<locals>.badencodereturn2ztest.badencodereturn2�test.posreturnruÿ0s<?>0r>s<?><?>r~s<?>rc@seZdZdd�ZdS)z.CodecCallbackTest.test_encodehelper.<locals>.DcSst�dS)N)r)rr rrrr!�sz:CodecCallbackTest.test_encodehelper.<locals>.D.__getitem__N)r
rrr!rrrrr"�sr"rIrKr"r:r<r#i,rsr$r%)rIrKr"r:r<r-)rBrr$r1r2r(rrrr#r&rLrNrMr)rr+r,r)r"rcrrr�test_encodehelper�s8z#CodecCallbackTest.test_encodehelpercCsBGdd�dt�}|jtdjdtjdi�|jtdjdfi�dS)Nc@seZdZdd�ZdS)z1CodecCallbackTest.test_translatehelper.<locals>.DcSst�dS)N)r)rr rrrr!�sz=CodecCallbackTest.test_translatehelper.<locals>.D.__getitem__N)r
rrr!rrrrr"�sr"r�r#r)rLrBr�	translater'r(r()rr"rrr�test_translatehelper�sz&CodecCallbackTest.test_translatehelpercCsHtd�dtd�dtd�dtd�di}xdD]}d
|}|j|�q*WdS)N�&z&amp;�<z&lt;�>z&gt;�"z&quot;rr�r���zabc<def>ghi)rr�r�r5)r+r/)rrOr��textrrr�test_bug828737�s
z CodecCallbackTest.test_bug828737cCs�ddddddddg}dd
�}tjd|�tjj��:x2|D]*\}}|jt��|j|d�WdQRXq:WWdQRXdd�}tjd|�tjj��,x$|D]\}}|j|j|d�d�q�WWdQRXdS)Nrr��utf-7�++�utf-8�utf-16�utf-32�unicode-escape�\u123g�raw-unicode-escape�unicode-internalcSs$t|t�rd|_dStd|��dS)Nrr�䉂rzdon't know how to handle %r)rAr)r'rr	r()rrrr�	replacing�s
z?CodecCallbackTest.test_mutatingdecodehandler.<locals>.replacingztest.replacingcSs$t|t�rd|_dStd|��dS)Nr�䉂rzdon't know how to handle %r)rCr)r'rr	r()rrrr�mutating	s
z>CodecCallbackTest.test_mutatingdecodehandler.<locals>.mutatingz
test.mutatingu䉂)rr�)r8r9)r:r�)r;r�)r<r�)r=r>)r?r>)r@r�)	r1r2rUrVrWrBr(rAr#)rZbaddatarBr��datarDrrr�test_mutatingdecodehandler�s&$z,CodecCallbackTest.test_mutatingdecodehandlercCs�dd�}tjd|�|jdjdd�d�|jdjdd�d�|jd	jd
d�d�|jdjd
d�d�dd�}tjd|�|jdjdd�d�|jdjdd�d�dS)NcSs(t|t�rd|jdfStd|��dS)Nu�rzdon't know how to handle %r)r'rr
r()rrrr�forward_shorter_than_ends
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)Nr��u�zdon't know how to handle %rs)r'rr	r
r()rrrr�replace_with_long9s

zICodecCallbackTest.test_crashing_decode_handler.<locals>.replace_with_longztest.replace_with_longr�zutf-16u�zutf-32u�)r1r2r#rA)rrGrIrrr�test_crashing_decode_handlers6

z.CodecCallbackTest.test_crashing_decode_handlercs�tjtjtjtjtjtjtjd�tjd�g}x�tt	t
fD]��G�fdd�dt�}x6|D].}|j|�d��|j
t||��WdQRXqVWG�fdd�dt�}xJ|D]B}|j|�d��*|j
t|f��||��WdQRXWdQRXq�Wq8WdS)Nr�r�cseZdZ�ZdS)zACodecCallbackTest.test_fake_error_class.<locals>.FakeUnicodeErrorN)r
rr�	__class__r)�clsrr�FakeUnicodeErrorWsrM)r)Zerror_classcseZdZ�ZdS)zACodecCallbackTest.test_fake_error_class.<locals>.FakeUnicodeErrorN)r
rrrKr)rLrrrM\s)r1r�r�r�r�r�r�rnrrrrur�rBr(r�)rZhandlersrMr)r)rLr�test_fake_error_classKs$

z'CodecCallbackTest.test_fake_error_classN)'r
rrr&r5r9r;r=rCrPrYrbrqr{r}rr�r�r�r�r�r�r�r�r�rrrr	r
rrr*r.r0r7rFrJrNrrrrr!CsH
$9 (%:.,H;6
)3r!�__main__)r1Z
html.entitiesr*r'Ztest.supportrUr6Zunittestrrrrrrrrrrr ZTestCaser!r
�mainrrrr�<module>s0)

Youez - 2016 - github.com/yon3zu
LinuXploit