Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_codeccallbacks.cpython-310.pyc
o

�9j<��@s�ddlZddlZddlZddlZddlZddlZddlZGdd�d�ZGdd�d�Z	Gdd�de
�ZGdd	�d	e
�ZGd
d�de
�ZGdd
�d
e
�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�dej�Zedkrue��dSdS)�Nc@seZdZdd�Zdd�ZdS)�	PosReturncCs
d|_dS�Nr)�pos��self�r�//usr/lib/python3.10/test/test_codeccallbacks.py�__init__
s
zPosReturn.__init__cCs>|j}|}|dkrt|j�|}||jkrt|j�|_d|fS)Nr�<?>)r�len�object�start)r�exc�oldpos�realposrrr�handles
zPosReturn.handleN��__name__�
__module__�__qualname__r	rrrrrr
src@seZdZddd�Zdd�ZdS)�RepeatedPosReturnr
cCs||_d|_d|_dSr)�replr�count)rrrrrr	s
zRepeatedPosReturn.__init__cCs0|jdkr|jd8_|j|jfS|j|jfS)Nr�)rrr�end)rrrrrr!s
zRepeatedPosReturn.handleN)r
rrrrrrs
rc@�eZdZdd�ZdS)�BadStartUnicodeEncodeErrorcC�t�|ddddd�g|_dS�N�ascii�rr�bad)�UnicodeEncodeErrorr	r
rrrrr	)�
z#BadStartUnicodeEncodeError.__init__N�rrrr	rrrrr(�rc@r)�BadObjectUnicodeEncodeErrorcCrr)r"r	rrrrrr	/r#z$BadObjectUnicodeEncodeError.__init__Nr$rrrrr&.r%r&c@r)�NoEndUnicodeDecodeErrorcCs t�|dtd�ddd�|`dS�Nr�rrr!)�UnicodeDecodeErrorr	�	bytearrayrrrrrr	5sz NoEndUnicodeDecodeError.__init__Nr$rrrrr'4r%r'c@r)�BadObjectUnicodeDecodeErrorcCs"t�|dtd�ddd�g|_dSr()r*r	r+rrrrrr	;s
z$BadObjectUnicodeDecodeError.__init__Nr$rrrrr,:r%r,c@r)�NoStartUnicodeTranslateErrorcC�t�|dddd�|`dS�Nr rrr!)�UnicodeTranslateErrorr	r
rrrrr	A�z%NoStartUnicodeTranslateError.__init__Nr$rrrrr-@r%r-c@r)�NoEndUnicodeTranslateErrorcCr.r/)r0r	rrrrrr	Gr1z#NoEndUnicodeTranslateError.__init__Nr$rrrrr2Fr%r2c@r)�NoObjectUnicodeTranslateErrorcCr.r/)r0r	rrrrrr	Mr1z&NoObjectUnicodeTranslateError.__init__Nr$rrrrr3Lr%r3c@sTeZdZdd�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*dQdR�Z+dSS)T�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_xmlcharrefreplaceSs
�
�z(CodecCallbackTest.test_xmlcharrefreplacecC�ddd�}t�d|�d}d}|�|�dd�|�d}|�|�dd�|�d	}|�|�d
d�|�dS)Nc	Ss�t|t�std|��g}|j|j|j�D]#}z|�dtjj	t
|��Wqty9|�dt
|��Yqwd�|�|jfS)N�don't know how to handle %rz&%s;�&#%d;r )
�
isinstancer"�	TypeErrorrr
r�append�html�entities�codepoint2name�ord�KeyError�join�r�l�crrr�xmlcharnamereplacees
�zECodecCallbackTest.test_xmlcharnamereplace.<locals>.xmlcharnamereplaceztest.xmlcharnamereplaceu«ℜ» = 〈ሴ€〉s0&laquo;&real;&raquo; = &lang;&#4660;&euro;&rang;rs$�&real;� = &lang;&#4660;&euro;&rang;r6s�&real;� = &lang;&#4660;�&rang;�iso-8859-15��codecs�register_errorr8r9)rrK�sin�soutrrr�test_xmlcharnamereplaceas�z)CodecCallbackTest.test_xmlcharnamereplacecCr<)Nc	Ss`t|t�std|��g}|j|j|j�D]}|�t�|dt	|���qdd�
|�|jfS)Nr=z0x%xz
%sz, )r?r"r@rr
rrA�unicodedata�namerErGrHrrr�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-8000r6sA�ETHIOPIC SYLLABLE SEE�CJK UNIFIED IDEOGRAPH-8000rLrM)rrUrPrQrrr�test_uninamereplace{s	�z%CodecCallbackTest.test_uninamereplacecC�Pd}d}|�|�dd�|�d}|�|�dd�|�d}|�|�dd�|�dS)	N�a¬ሴ€耀􏿿s!a\xac\u1234\u20ac\u8000\U0010ffffr�backslashreplacesa�\u1234\u20ac\u8000\U0010ffffr6sa�\u1234�\u8000\U0010ffffrLr7�rrPrQrrr�test_backslashescape�sz&CodecCallbackTest.test_backslashescapecCrW)	NrXs[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}\U0010ffffr6sDa�\N{ETHIOPIC SYLLABLE SEE}�\N{CJK UNIFIED IDEOGRAPH-8000}\U0010ffffrLr7rZrrr�test_nameescape�sz!CodecCallbackTest.test_nameescapecCsJdd�}t�d|�d}d}|�|�dd�|�d}|�t|jdd�dS)NcSsBt|t�std|��|j|j|jd�dkrd|jdfS|�)Nr=�s���)r?r*r@rr
�rrrr�relaxedutf8�s

z>CodecCallbackTest.test_decoding_callbacks.<locals>.relaxedutf8ztest.relaxedutf8sab��cü����u	abcü�utf-8s����)rNrOr8�decode�assertRaisesr*)rrarPrQrrr�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)r^rN)rE�bytes�upper��.0rJrrr�	<genexpr>�s�(z7CodecCallbackTest.test_charmapencode.<locals>.<genexpr>�abcdefgh�abcsAABBCC�strictr�abcAsXYZ�?�abcDEFsAABBCCXYZXYZXYZ�replace�XYZ)�dictr8rN�charmap_encoderd�UnicodeErrorrEr@)r�charmaprPrQrrr�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�}nt�t�r%�fdd�|D�}ntd���dd�|��jfS)Ncsg|]}dt�j|��qS�z<%d>)rEr�rirr`rr�
<listcomp>�szFCodecCallbackTest.test_callbacks.<locals>.handler1.<locals>.<listcomp>c�g|]	}d�j|�qSrx�rryr`rrrz��r=�[%s]r )�ranger
rr?r"r*r@rG)r�rrIrr`r�handler1�s

z2CodecCallbackTest.test_callbacks.<locals>.handler1z
test.handler1csJt�t�std����fdd�t�j�j�D�}dd�|��jdfS)Nr=cr{rxr|ryr`rrrz�r}zFCodecCallbackTest.test_callbacks.<locals>.handler2.<locals>.<listcomp>r~r r)r?r*r@rr
rrG)rrIrr`r�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>])rNrOr8rc�charmap_decoderEr9)rr�r�r:rrr�test_callbacks�sB

�
�
�
��
�
�z CodecCallbackTest.test_callbackscs�gd�}|D]
}t�d|t�|��qd�|dd�|D�7}�fdd�dD�D]}dD]}|D]}z|�||�Wq0tyCYq0wq,q(dS)	N)rm�ignorerqr5rYr\�test.��cSsg|]}d|�qS)r�r)ri�errrrrrz&�z6CodecCallbackTest.test_longstrings.<locals>.<listcomp>csg|]}|��qSrr)rir:�rIrrrz'r�)�x�あuaä)rr6�
iso-8859-1rLrb�utf-7�utf-16�utf-32)rNrO�lookup_errorr9ru)r�errorsr��uni�encrr�r�test_longstringss ����z"CodecCallbackTest.test_longstringsc
Cs�|jt|g|dd��R�|jt|g|dg�R�gd�}tt|��D]8}|D]3}t|�t||�ur6q)g}tt|��D]}||krJ|�|�q>|�||�q>|jt|g|�R�q)q%||�}	|�t|	�|�dS)N���ztoo much)�spamseggssspam�*g�?N)rdr@rr�typerAr8�str)
r�exctype�args�msg�	wrongargs�i�wrongarg�callargs�jrrrr�check_exceptionobjectargs0s �
z+CodecCallbackTest.check_exceptionobjectargscCsp|�tgd�d�|�tgd�d�|�tgd�d�|�tgd�d�|�tgd	�d
�|�tgd�d�dS)
N)r�gürkrr^�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�r"rrrr�test_unicodeencodeerrorIs<������z)CodecCallbackTest.test_unicodeencodeerrorcCs<|�tdtd�dddgd�|�tdtd�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�r*r+rrrr�test_unicodedecodeerroris��z)CodecCallbackTest.test_unicodedecodeerrorcCs^|�tgd�d�|�tgd�d�|�tgd�d�|�tgd�d�|�tgd	�d
�dS)N)r�rr^r�z4can't translate character '\xfc' in position 1: ouch)ugĀrkrr^r�z6can't translate character '\u0100' in position 1: ouch)ug￿rkrr^r�z6can't translate character '\uffff' in position 1: ouch)ug𐀀rkrr^r�z:can't translate character '\U00010000' in position 1: ouch)r�rr�r�z0can't translate characters in position 1-2: ouch)r�r0rrrr�test_unicodetranslateerrorus2�����z,CodecCallbackTest.test_unicodetranslateerrorc
Cs~|�ttjd�|�ttjtd��|�ttjtddddd��|�ttjtdtd�ddd��|�ttjtdddd��dS)Nr�r�rr�rr��)	rdr@rN�
strict_errors�	Exceptionr"r*r+r0rrrr�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あbrr^)r r^�a�b)
rdr@rN�
ignore_errorsrur8r"r*r+r0rrrr�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�rr^)ror^r�)��r^)rdr@rN�replace_errorsrur&r,r8r"r*r+r0rrrr� 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�r�i'�'i��順i?B�@B)i�i��r css�|]}t|�VqdS�N��chrrhrrrrj��zOCodecCallbackTest.test_badandgoodxmlcharrefreplaceexceptions.<locals>.<genexpr>r��bcss�|]}d|VqdS)r>Nrrhrrrrjr�)rdr@rN�xmlcharrefreplace_errorsrur*r+r0rGr8r"r)r�csr:rrr�*test_badandgoodxmlcharrefreplaceexceptions�s>�������z<CodecCallbackTest.test_badandgoodxmlcharrefreplaceexceptionsc
CsL|�ttjd�|�ttjtd��gd�}|D]S\}}|j|d��A|�t�tdd|dddt|�d��|dt|�f�|�t�t	d|dddt|�d��|dt|�f�Wd�n1sfwYqgd	�}|D]1\}}|j|d
��|�t�t
dtd|d�dd
d��|d
f�Wd�n1s�wYqrdS)Nr�r�))r�z\u3042)�
�\x0a)r��\x61�r_�\x00)�ÿ�\xff)uĀz\u0100)u￿z\uffff)u𐀀z
\U00010000�u􏿿z
\U0010ffff���z\ud800���z\udfff����z\ud800\udfff�r�rr�r�r))�ar�)�
r�)�r�)r�r�)rfr��br^)rdr@rN�backslashreplace_errorsru�subTestr8r"rr0r*r+)r�testsr:r�r�rrr�)test_badandgoodbackslashreplaceexceptionssZ����������
������z;CodecCallbackTest.test_badandgoodbackslashreplaceexceptionsc
Cs�|�ttjd�|�ttjtd��|�ttjtdtd�ddd��|�ttjtdddd��gd�}|D]7\}}|j|d	��%|�	t�t
dd
|dddt|�d��|dt|�f�Wd�n1sgwYq5dS)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�r�r�)rdr@rN�namereplace_errorsrur*r+r0r�r8r"r)rr�r:r�rrr�$test_badandgoodnamereplaceexceptionsTsD����������z6CodecCallbackTest.test_badandgoodnamereplaceexceptionscCs�t�d�}|�t|d�|�t|td��|�t|tdddd��dD]%}|j|d��|�t|td	|ddd��Wd�n1sCwYq#|�|td	d
ddd��d�|�t	|t	d	t
d
�ddd��|�|t	d	t
d�ddd��d�dS)N�surrogateescaper�r���rr)r�u�u�r�rua�br^)��r^r�sa�b)r�r^)rNr�rdr@rur0r�r"r8r*r+)r�surrogateescape_errorsr:rrr�(test_badandgoodsurrogateescapeexceptions�sT
�����������z:CodecCallbackTest.test_badandgoodsurrogateescapeexceptionscCs�t�d�}|�t|d�|�t|td��|�t|tdddd��dD]5}|j|d��%|�t|t|d	ddd��|�t|t|d	�	|�ddd��Wd�n1sSwYq#d
D]'}|j|d��|�t|td|dt
|�d��Wd�n1s}wYq[gd
�}|D]\\}}}}|j|||d��F|�|t|d	|dddt
|�d��|dt
|�f�|�|t|td|d|�d�dd|d��|dd�d|f�Wd�n1s�wYq�dS)N�
surrogatepassr�r�r�rr)rb�utf-16le�utf-16be�utf-32le�utf-32be��encodingr�)r�r�r�r�r))rbr�s�r�)r�r�s�r^)r�r�s�r^)r�r�s�r�)r�r�s�r�)rbr�s�r�)r�r�s��r^)r�r�s�r^)r�r�s��r�)r�r�s�r�)rbr�s��r�)r�r�s��r^)r�r�s��r^)r�r�s���r�)r�r�s��r�)r�r�rfr�r�r�)
rNr�rdr@rur0r�r"r*r9rr8r+)r�surrogatepass_errorsr�r:r�r��nrrr�&test_badandgoodsurrogatepassexceptions�sz
�������������
������z8CodecCallbackTest.test_badandgoodsurrogatepassexceptionscsfd}d}|D]*�t�d�fdd��|D]}|�tdj|d�qdD]
\}}|�t|j|d�q"qdS)N)	r��foo)rr^r��r�rr��r�N�r�r�r�r�)rr6r�rLztest.badhandlercs�Sr�r)r���resrr�<lambda>�sz:CodecCallbackTest.test_badhandlerresults.<locals>.<lambda>r�)�rr��rbr�)r�s+x-)rNrOrdr@r9rc)r�results�encsr�rfrr�r�test_badhandlerresults�s(����z(CodecCallbackTest.test_badhandlerresultscCs||�tjt�d��|�tjt�d��|�tjt�d��|�tjt�d��|�tjt�d��|�tjt�d��dS)Nrmr�r5rYr\)r8rNr�r�r�r�r�r�rrrr�test_lookups���zCodecCallbackTest.test_lookupc
s��fdd�}t�d|�dD]\}}�|�|d�}|�|d�d�|��qdD]N\}}�|j|d��;|�t��}|�|d�Wd�n1sKwY|j}|�|jd	�|�|j	d
�|�|j
|�Wd�n1srwYq)dS)Nc� t|t�r
�|jfStd|���Nr=�r?r"rr@r`�rrrr!�

zBCodecCallbackTest.test_encode_nonascii_replacement.<locals>.handle�test.replacing))r�[¤]rl)r��[€]u½¾)rLruœŸ�[�]))rb�[�]�🐍)r�rr	)r�rr	r�rr^)rNrOr9r8r�rdr"�	exceptionr
rr)rrr��inputr��cmrrrr� test_encode_nonascii_replacement s"����z2CodecCallbackTest.test_encode_nonascii_replacementc
s��fdd�}t�d|�dD]N\}}�|j|d��;|�t��}|�|d�Wd�n1s0wY|j}|�|jd�|�|j	d�|�|j
|�Wd�n1sWwYqdS)Ncr�r�rr`rrr�	unencrepl=s

zHCodecCallbackTest.test_encode_unencodable_replacement.<locals>.unencreplztest.unencreplhandler))rr�½)r�ruœ)rLrr)rbr��)r�rr)r�rrr�rr^)rNrOr�rdr"r9r
r8r
rr)rrr�rrrrrr�#test_encode_unencodable_replacement<s����z5CodecCallbackTest.test_encode_unencodable_replacementc	s��fdd�}t�d|�dD]1\}}�|j|d��|�|d�}|�|d�|��d�|��Wd�n1s:wYqdS)Ncr�r�rr`rrrrUrz?CodecCallbackTest.test_encode_bytes_replacement.<locals>.handler))rr���)r�rr)rLrr)rbrr)r�rr)r�rr)r�r�����)r�rrr�rr)rNrOr�r9r8)rrr�rr�rrr�test_encode_bytes_replacementTs
"���z/CodecCallbackTest.test_encode_bytes_replacementc
s��fdd�}t�d|�d}gt�dddg��t�dgd	���RD]U\}�|j|�d
��B|�t��}|�|d�Wd�n1sCwY|j}|�	|j
d�|�	|jd�|�	|j|�|�	|j
d
�Wd�n1sqwYq!dS)Ncr�r�rr`rrrrkrzCCodecCallbackTest.test_encode_odd_bytes_replacement.<locals>.handlerr)r�r�r�r�)r�r�)r�sabr�sabcde)r�rrr^zsurrogates not allowed)rNrO�	itertools�productr�rdr"r9r
r8r
rr�reason)rrrr�rrrrr�!test_encode_odd_bytes_replacementjs0��������z3CodecCallbackTest.test_encode_odd_bytes_replacementcCs&|�ttjd�|�ttjdd�dS)Nr�z
test.dummy)rdr@rNrOrrrr�test_badregistercall�sz&CodecCallbackTest.test_badregistercallcCs|�ttj�dSr�)rdr@rNr�rrrr�test_badlookupcall�sz$CodecCallbackTest.test_badlookupcallcCs|�ttjd�dS)N�test.unknown)rd�LookupErrorrNr�rrrr�test_unknownhandler�sz%CodecCallbackTest.test_unknownhandlercCsJd}d�dd�|D��}t�dtj�dD]
}dD]}|�||�qqdS)N)
r�r��2r�i�r�i�r�iP�r�i �r�r cSsg|]}t|��qSrr�)rir�rrrrz�r�z;CodecCallbackTest.test_xmlcharrefvalues.<locals>.<listcomp>�test.xmlcharrefreplace)rrL)r5r )rGrNrOr�r9)r�vr:r�r�rrr�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�rrcS�dS�Nr�rr`rrr�baddecodereturn1��z=CodecCallbackTest.test_decodehelper.<locals>.baddecodereturn1ztest.baddecodereturn1�\r��\x0s\x0ys
\Uffffeeees\uyyyy�raw-unicode-escapecSr#�N)roNrr`rrr�baddecodereturn2�r&z=CodecCallbackTest.test_decodehelper.<locals>.baddecodereturn2ztest.baddecodereturn2�test.posreturnr�s�0z<?>0���z<?><?>���rr^r
r��s\uyyyy0c@r)z.CodecCallbackTest.test_decodehelper.<locals>.DcS�t�r���
ValueError�r�keyrrr�__getitem__�r&z:CodecCallbackTest.test_decodehelper.<locals>.D.__getitem__N�rrrr5rrrr�D�r%r7rm�)rdrrcrNrOr@rrrr8�
IndexErrorrsrur�r2�sys�
maxunicode)rr%r+�handlerr7rrr�test_decodehelper�s@"z#CodecCallbackTest.test_decodehelperc	Cst|�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]%}|�ttj
d|ddi�|�ttj
d||��|�ttj
d|ddi�q�dS)Nr�rrcSr#r$rr`rrr�badencodereturn1�r&z=CodecCallbackTest.test_encodehelper.<locals>.badencodereturn1ztest.badencodereturn1cSr#r*rr`rrr�badencodereturn2�r&z=CodecCallbackTest.test_encodehelper.<locals>.badencodereturn2ztest.badencodereturn2r,r�uÿ0s<?>0r-s<?><?>r.rr^s<?>r�rc@r)z.CodecCallbackTest.test_encodehelper.<locals>.DcSr0r�r1r3rrrr5	r&z:CodecCallbackTest.test_encodehelper.<locals>.D.__getitem__Nr6rrrrr7r%r7)rmrqr5rYr\r,r8i,)rdrr9rNrOr@rrrr8r9rsrurtr2)rr>r?r<r7r�rrr�test_encodehelper�s8�z#CodecCallbackTest.test_encodehelperc	Cs�td�}t�d|j�gd�}|D]0\}}d�|�|}|j|d��d|_|�|d�}|�|d�Wd�n1s<wYqdS)Nr��
test.bug36819)r�r�)r�s܀)r�s܀)z
iso-8859-6r��abcdr�r�abcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdx)	rrNrOrr9r�rrcr8)rr<�	testcasesr�r!r�decodedrrr�test_decodehelper_bug36819s���z,CodecCallbackTest.test_decodehelper_bug36819c
Cst�}t�d|j�d}gd�}|dg7}tjdkrddg}d|_|D]N}|j|d	��>d
|_|�	t
��}|�|d�Wd�n1sEwY|j}|�
|jd�|�
|jd�|�
|j|�Wd�n1slwYq#tjdkr�d
|_|�	t
��}t�d
|d�Wd�n1s�wY|j}|�
|jd�|�
|jd�|�
|j|�d|_|D]*}|j|d	��d
|_|�|d�}|�
|�|�d�Wd�n1s�wYq�tjdk�rd
|_t�d
|d�}|�
|d��d�|�
|dt|��dSdS)NrAuabcd�)r�latin1rbr�r�rL�win32�mbcs�oemrr�rr�ri�r�rCrr)rrNrOrr:�platformrr�rrdr"r9r
r8r
rr�code_page_encodercr)rr<r�	encodingsr�rr�encodedrrr�test_encodehelper_bug36819#sV

���
����z,CodecCallbackTest.test_encodehelper_bug36819cCsBGdd�dt�}|�tdjdtjdi�|�tdjddi�dS)Nc@r)z1CodecCallbackTest.test_translatehelper.<locals>.DcSr0r�r1r3rrrr5Vr&z=CodecCallbackTest.test_translatehelper.<locals>.D.__getitem__Nr6rrrrr7Ur%r7r�r8rr)rsrdr2�	translater:r;r@)rr7rrr�test_translatehelperOsz&CodecCallbackTest.test_translatehelpercCsDtd�dtd�dtd�dtd�di}d	D]}d
|}|�|�qdS)N�&z&amp;�<z&lt;�>z&gt;�"z&quot;)rr�r�r�zabc<def>ghi)rErP)rrvr��textrrr�test_bug828737\s��z CodecCallbackTest.test_bug828737c	Cs�gd�}dd�}t�d|�|D]\}}|�t��|�|d�Wd�n1s*wYqdd�}t�d|�|D]\}}|�|�|d�d�q<dS)	N)r�)r�s++r�)r�r�)r�r�)r��\u123g)r)rXcS� t|t�r
d|_dStd|��)Nr���䉂rr=�r?r*rr@r`rrr�	replacings�
zACodecCallbackTest.test_mutating_decode_handler.<locals>.replacingrcSrY)Nr)rZr=r\r`rrr�mutatingr^z@CodecCallbackTest.test_mutating_decode_handler.<locals>.mutatingz
test.mutatingr[)rNrOrdr@rcr8)r�baddatar]r��datar_rrr�test_mutating_decode_handlerhs
���z.CodecCallbackTest.test_mutating_decode_handlercs�tj��fdd�}t�d|�dddd����fdd	�}|d
dd�|d
dd�|ddd�|ddd�|ddd�|td�dd�dd�|td�dd�dd�|ddd�|ddd�|td�dd�dd�dS)NcsZt|t�r'��|jd|j��}|dur'|d|j|jd�|_d|dfStd|��)NruЄrr=)r?r*�getrr�AssertionError)rr�)rarrr_�s
zOCodecCallbackTest.test_mutating_decode_handler_unicode_escape.<locals>.mutating�test.mutating2)r'r)sxxx\r�)sx\r)r(s\x3s\x5csZ��t��}���|d�|t|�f�Wd�n1swY��|t|j��dS)Nre)�assertWarns�DeprecationWarningr8r�assertInr��warning)r�expectedr�r)rcrrr�check�s�zLCodecCallbackTest.test_mutating_decode_handler_unicode_escape.<locals>.checks\x0n\zuЄ
\zzinvalid escape sequence '\z's\x0zuЄ\zs\x3n\zruЄ
\zrs\x3zruЄ\zrs\x3z5uЄ\z5s\x3z5xr�s\x3z5xyr-s\x5n\zs\x5zs\x5zy)rN�unicode_escape_decoderO�
memoryview)rr_rkr)rarcrr�+test_mutating_decode_handler_unicode_escape�s$�z=CodecCallbackTest.test_mutating_decode_handler_unicode_escapecCs�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�rd|jdfStd|��)Nr�rr=)r?r*r
r@r`rrr�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�r
d|_d|jfStd|��)Nsr�r=)r?r*rr
r@r`rrr�replace_with_long�s

zICodecCallbackTest.test_crashing_decode_handler.<locals>.replace_with_longztest.replace_with_longr�r�u�r�u�)rNrOr8rc)rrorprrr�test_crashing_decode_handler�sL���������
�
�z.CodecCallbackTest.test_crashing_decode_handlercs tjtjtjtjtjtjt�d�t�d�g}tt	t
fD]r�G�fdd�dt�}|D]!}|j|�d��|�
t||��Wd�n1sEwYq)G�fdd�dt�}|D]5}|j|�d��$|�
t|f��
||��Wd�n1sxwYWd�n1s�wYqWqdS)Nr�r�c�eZdZ�ZdS�zACodecCallbackTest.test_fake_error_class.<locals>.FakeUnicodeErrorN�rrr�	__class__r��clsrr�FakeUnicodeError��rx)r<�error_classcrrrsrtrrvrrrx�ry)rNr�r�r�r�r�r�r�r"r*r0r�r�rdr@r�)r�handlersrxr<rrvr�test_fake_error_class�s6�
��������z'CodecCallbackTest.test_fake_error_classN),rrrr;rRrVr[r]rerwr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r
rrrrrrr"r=r@rFrOrQrWrbrnrqr|rrrrr4QsT
9 (%:.,H;6,
##3r4�__main__)rN�
html.entitiesrBr�rer:rS�unittestrrr"rr&r*r'r,r0r-r2r3�TestCaser4r�mainrrrr�<module>s:
2�

Youez - 2016 - github.com/yon3zu
LinuXploit