Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_codeccallbacks.cpython-312.pyc

�

'Μg����N�ddlZddlZddlZddlZddlZddlZGd�d�ZGd�d�ZGd�de	�Z
Gd�d	e	�ZGd
�de�Z
Gd�d
e�ZGd�de�ZGd�de�ZGd�de�ZGd�dej&�Zedk(rej,�yy)�Nc��eZdZd�Zd�Zy)�	PosReturnc��d|_y�Nr)�pos��selfs �5/usr/local/lib/python3.12/test/test_codeccallbacks.py�__init__zPosReturn.__init__s	�����c��|j}|}|dkrt|j�|z}||jkrt|j�|_d|fS)Nr�<?>)r�len�object�start)r	�exc�oldpos�realposs    r
�handlezPosReturn.handlesP���������1�9��#�*�*�o��/�G��c�i�i���3�:�:��D�H��v��rN��__name__�
__module__�__qualname__rr�rr
rr	s���	rrc��eZdZdd�Zd�Zy)�RepeatedPosReturnc�.�||_d|_d|_yr)�replr�count)r	rs  r
rzRepeatedPosReturn.__init__s����	������
rc��|jdkDr-|xjdzc_|j|jfS|j|jfS)Nr�)rrr�end)r	rs  r
rzRepeatedPosReturn.handle s@���:�:��>��J�J�!�O�J��I�I�t�x�x�(�(��	�	�3�7�7�#�#rN)rrrrr
rrs���
$rrc��eZdZd�Zy)�BadStartUnicodeEncodeErrorc�F�tj|ddddd�g|_y�N�ascii�rr!�bad)�UnicodeEncodeErrorrrrs r
rz#BadStartUnicodeEncodeError.__init__(s!���#�#�D�'�2�q�!�U�C���
rN�rrrrrrr
r$r$'���rr$c��eZdZd�Zy)�BadObjectUnicodeEncodeErrorc�F�tj|ddddd�g|_yr&)r*rrrs r
rz$BadObjectUnicodeEncodeError.__init__.s!���#�#�D�'�2�q�!�U�C���rNr+rrr
r.r.-���rr.c��eZdZd�Zy)�NoEndUnicodeDecodeErrorc�N�tj|dtd�ddd�|`y�Nr'rrr!r))�UnicodeDecodeErrorr�	bytearrayr"rs r
rz NoEndUnicodeDecodeError.__init__4s#���#�#�D�'�9�S�>�1�a��O��HrNr+rrr
r2r23���rr2c��eZdZd�Zy)�BadObjectUnicodeDecodeErrorc�X�tj|dtd�ddd�g|_yr4)r5rr6rrs r
rz$BadObjectUnicodeDecodeError.__init__:s%���#�#�D�'�9�S�>�1�a��O���rNr+rrr
r9r99r0rr9c��eZdZd�Zy)�NoStartUnicodeTranslateErrorc�:�tj|dddd�|`y�Nr(rr!r))�UnicodeTranslateErrorrrrs r
rz%NoStartUnicodeTranslateError.__init__@s���&�&�t�R��A�u�=��JrNr+rrr
r<r<?s��rr<c��eZdZd�Zy)�NoEndUnicodeTranslateErrorc�:�tj|dddd�|`yr>)r?rr"rs r
rz#NoEndUnicodeTranslateError.__init__Fs���&�&�t�b�!�Q��>��HrNr+rrr
rArAEr7rrAc��eZdZd�Zy)�NoObjectUnicodeTranslateErrorc�:�tj|dddd�|`yr>)r?rrrs r
rz&NoObjectUnicodeTranslateError.__init__Ls���&�&�t�R��A�u�=��KrNr+rrr
rDrDKr,rrDc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*y))*�CodecCallbackTestc��d}|j|jdd�d�|j|jdd�d�y)Nuスパモ änd eggsr'�xmlcharrefreplaces&&#12473;&#12497;&#12514; &#228;nd eggs�latin-1s!&#12473;&#12497;&#12514; �nd eggs��assertEqual�encode)r	�ss  r
�test_xmlcharrefreplacez(CodecCallbackTest.test_xmlcharrefreplaceRsK��
-�����
�H�H�W�1�2�5�	
�	
���
�H�H�Y� 3�4�3�	
rc��d�}tjd|�d}d}|j|jdd�|�d}|j|jdd�|�d}|j|jd	d�|�y)
Nc��t|t�std|z��g}|j|j|j
D];}	|j
dtjjt|�z��=dj|�|j
fS#t$r |j
dt|�z�Y��wxYw)N�don't know how to handle %rz&%s;�&#%d;r()
�
isinstancer*�	TypeErrorrrr"�append�html�entities�codepoint2name�ord�KeyError�join�r�l�cs   r
�xmlcharnamereplacezECodecCallbackTest.test_xmlcharnamereplace.<locals>.xmlcharnamereplaceds����c�#5�6�� =�� C�D�D��A��Z�Z��	�	�#�'�'�2��/��H�H�V�d�m�m�&B�&B�3�q�6�&J�J�K�3�
�G�G�A�J����(�(�� �/��H�H�W�s�1�v�-�.�/�s�8B�&C�Cztest.xmlcharnamereplaceu«ℜ» = 〈ሴ€〉s0&laquo;&real;&raquo; = &lang;&#4660;&euro;&rang;r's$�&real;� = &lang;&#4660;&euro;&rang;rJs�&real;� = &lang;&#4660;�&rang;�iso-8859-15��codecs�register_errorrLrM)r	r`�sin�souts    r
�test_xmlcharnamereplacez)CodecCallbackTest.test_xmlcharnamereplace`s���		)�	���%�'9�	;�:��B��������G�-F�G��N�<��������I�/H�I�4�P�:��������M�3L�M�t�Trc��d�}tjd|�d}d}|j|jdd�|�d}|j|jdd�|�d}|j|jd	d�|�y)
Nc
�4�t|t�std|z��g}|j|j|j
D]3}|j
tj|dt|�z���5ddj|�z|j
fS)NrRz0x%xz
%sz, )rTr*rUrrr"rV�unicodedata�namerZr\r]s   r
�uninamereplacez=CodecCallbackTest.test_uninamereplace.<locals>.uninamereplace�s}���c�#5�6�� =�� C�D�D��A��Z�Z��	�	�#�'�'�2������)�)�!�V�c�!�f�_�=�>�3�&����1��5�s�w�w�?�?rztest.uninamereplaceu¬ሴ€耀sNNOT SIGN, ETHIOPIC SYLLABLE SEE, EURO SIGN, CJK UNIFIED IDEOGRAPH-8000r'sE�ETHIOPIC SYLLABLE SEE, EURO SIGN, CJK UNIFIED IDEOGRAPH-8000rJsA�ETHIOPIC SYLLABLE SEE�CJK UNIFIED IDEOGRAPH-8000rarb)r	rlrerfs    r
�test_uninamereplacez%CodecCallbackTest.test_uninamereplacezs���	@�	���!�>�	3�'��f��������G�-B�C�T�J�`��������I�/D�E�t�L�e��������M�3H�I�4�Prc���d}d}|j|jdd�|�d}|j|jdd�|�d}|j|jdd�|�y)	N�a¬ሴ€耀􏿿s!a\xac\u1234\u20ac\u8000\U0010ffffr'�backslashreplacesa�\u1234\u20ac\u8000\U0010ffffrJsa�\u1234�\u8000\U0010ffffrarK�r	rerfs   r
�test_backslashescapez&CodecCallbackTest.test_backslashescape�sl��2��8��������G�-?�@�$�G�7��������I�/A�B�D�I�4��������M�3E�F��Mrc���d}d}|j|jdd�|�d}|j|jdd�|�d}|j|jdd�|�y)	Nros[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}\U0010ffffrJsDa�\N{ETHIOPIC SYLLABLE SEE}�\N{CJK UNIFIED IDEOGRAPH-8000}\U0010ffffrarKrqs   r
�test_nameescapez!CodecCallbackTest.test_nameescape�so��2��>��������G�]�;�T�B�>��������I�}�=�t�D�>��������M�=�A�4�Hrc���d�}tjd|�d}d}|j|jdd�|�d}|j	t
|jdd�y)Nc��t|t�std|z��|j|j|jdzdk(rd|jdzfS|�)NrR�s���)rTr5rUrr�rs r
�relaxedutf8z>CodecCallbackTest.test_decoding_callbacks.<locals>.relaxedutf8�sU���c�#5�6�� =�� C�D�D��z�z�#�)�)�C�I�I�a�K�0�K�?���	�	�!��,�,��	rztest.relaxedutf8sab��cü����u	abcü�utf-8s����)rcrdrL�decode�assertRaisesr5)r	r{rerfs    r
�test_decoding_callbacksz)CodecCallbackTest.test_decoding_callbacks�sf��
	�	���0�+�>�9��(��������G�-?�@�$�G�"�����,�c�j�j�!�#5�	7rc��td�dD��}d}d}|jtj|d|�d|�d}|j	t
tj|d|�d|t
d	�<d
}d}|jtj|d|�d|�d
|t
d	�<|j	ttj|d|�y)Nc3�lK�|],}t|�td|j�zd�f���.y�w)rxr'N)rZ�bytes�upper��.0r_s  r
�	<genexpr>z7CodecCallbackTest.test_charmapencode.<locals>.<genexpr>�s+����Q�j���A���a����	�k�7� ;�<�j�s�24�abcdefgh�abcsAABBCC�strictr�abcAsXYZ�?�abcDEFsAABBCCXYZXYZXYZ�replace�XYZ)�dictrLrc�charmap_encoder~�UnicodeErrorrZrU)r	�charmaprerfs    r
�test_charmapencodez$CodecCallbackTest.test_charmapencode�s���
�Q�j�Q�Q����������.�.�s�H�g�F�q�I�4�P������,��(=�(=�s�H�g�V�"���C�����!������.�.�s�I�w�G��J�D�Q�!���C������)�V�%:�%:�C��G�Trc	�n�d�}tjd|�d�}tjd|�d}|j|jdd�d�|j|jdd�d�|jd	jd
d�d�|jdjd
d�d
�|jtjddtd�di�dd�|jdj
dd�d�|jdj
dd�d�y)Nc��t|j|j�}t|t�r)|D�cgc]}dt|j|�z��}}n>t|t�r |D�cgc]}d|j|z��}}ntd|z��ddj|�z|jfScc}wcc}w)N�<%d>rR�[%s]r()
�rangerr"rTr*rZrr5rUr\)r�rrr^s    r
�handler1z2CodecCallbackTest.test_callbacks.<locals>.handler1�s����c�i�i����)�A��#�1�2�>?�@�a�s�V�c�#�*�*�S�/�2�2�a��@��C�!3�4�9:�;��#�V�c�j�j��o�-���;�� =�� C�D�D��R�W�W�Q�Z�'����1�1��A��;s�"B8�.B=z
test.handler1c��t|t�std|z��t|j|j
�D�cgc]}d|j|z��}}ddj|�z|j
dzfScc}w)NrRr�r�r(r!)rTr5rUr�rr"rr\)rrr^s   r
�handler2z2CodecCallbackTest.test_callbacks.<locals>.handler2�sv���c�#5�6�� =�� C�D�D�5:�3�9�9�c�g�g�5N�O�5N�c��#�*�*�S�/�)�5N�A�O��R�W�W�Q�Z�'������3�3��Ps�A?z
test.handler2s���r'z[<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>])rcrdrLr}�charmap_decoderZrM)r	r�r�rNs    r
�test_callbacksz CodecCallbackTest.test_callbacks�s5��	2�	���o�x�8�	4�	���o�x�8�#�����
�H�H�W�o�.�+�	
�	
���
�H�H�W�o�.� �	
�
	
����$�$�%5��G�&�	
�
	
����#�#�$4�o�F�%�	
�
	
����!�!�&�/�C��H�c�?�K�A�N��	
�
	
���� � ��/�:��	
�
	
������w��8��	
rc�F�gd�}|D].}tjd|ztj|���0d}||D�cgc]}d|z��	c}z
}dD�cgc]}||z��	c}D]#}dD]}|D]}	|j||����%ycc}wcc}w#t$rY�2wxYw)N)r��ignorer�rIrprtztest.��)�x�あuaä)r'rJ�
iso-8859-1rar|�utf-7�utf-16�utf-32)rcrd�lookup_errorrMr�)r	�errors�errr^rN�uni�encs       r
�test_longstringsz"CodecCallbackTest.test_longstringss���6���C��!�!�'�C�-��1D�1D�S�1I�J�����V�5�V�c�G�c�M�V�5�5��":�<�":�Q�Q�q�S�":�<�C�>��!�C���
�
�3��,�"�>�=��6��<��(����s�B
�B�1B�	B 	�B 	c���|jt|g|dd���|jt|g|dgz���gd�}tt|��D]�}|D]z}t	|�t	||�ur�g}tt|��D]-}||k(r|j|��|j||��/|jt|g|����|��||�}	|j
t|	�|�y)N���ztoo much)�spamseggssspam�*g�?N)r~rUr�r�typerVrL�str)
r	�exctype�args�msg�	wrongargs�i�wrongarg�callargs�jrs
          r
�check_exceptionobjectargsz+CodecCallbackTest.check_exceptionobjectargs/s���	����)�W�9�t�C�R�y�9�����)�W�E��
�|�0C�E�?�	��s�4�y�!�A�%����>�T�$�q�'�]�2�����s�4�y�)�A��!�t� ����1� ����Q��0�	*�
"��!�!�)�W�@�x�@�&�"��t�n������S��3�'rc�0�|jtgd�d�|jtgd�d�|jtgd�d�|jtgd�d�|jtgd	�d
�|jtgd�d�y)
N)r'�gürkr!rx�ouchz?'ascii' codec can't encode character '\xfc' in position 1: ouch)r'r�r!�r�z;'ascii' codec can't encode characters in position 1-3: ouch)r'uüxrr!r�z?'ascii' codec can't encode character '\xfc' in position 0: ouch)r'uĀxrr!r�zA'ascii' codec can't encode character '\u0100' in position 0: ouch)r'u￿xrr!r�zA'ascii' codec can't encode character '\uffff' in position 0: ouch)r'u𐀀xrr!r�zE'ascii' codec can't encode character '\U00010000' in position 0: ouch)r�r*rs r
�test_unicodeencodeerrorz)CodecCallbackTest.test_unicodeencodeerrorHs����&�&��.�N�	
�
	
�&�&��.�I�	
�
	
�&�&��,�N�	
�
	
�&�&��.�P�	
�
	
�&�&��.�P�	
�
	
�&�&��2�T�	
rc��|jtdtd�dddgd�|jtdtd�dddgd�y)	Nr'sg�rkr!rxr�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�r5r6rs r
�test_unicodedecodeerrorz)CodecCallbackTest.test_unicodedecodeerrorhsR���&�&��
�i�
�+�Q��6�:�F�	
�
	
�&�&��
�i�
�+�Q��6�:�D�	
rc��|jtgd�d�|jtgd�d�|jtgd�d�|jtgd�d�|jtgd	�d
�y)N)r�r!rxr�z4can't translate character '\xfc' in position 1: ouch)ugĀrkr!rxr�z6can't translate character '\u0100' in position 1: ouch)ug￿rkr!rxr�z6can't translate character '\uffff' in position 1: ouch)ug𐀀rkr!rxr�z:can't translate character '\U00010000' in position 1: ouch)r�r!r�r�z0can't translate characters in position 1-2: ouch)r�r?rs r
�test_unicodetranslateerrorz,CodecCallbackTest.test_unicodetranslateerrorts}���&�&�!�%�C�	
�
	
�&�&�!�'�E�	
�
	
�&�&�!�'�E�	
�
	
�&�&�!�+�I�	
�
	
�&�&�!�%�>�	
rc���|jttjd�|jttjt	d��|jt
tjtddddd��|jttjt
dtd�ddd��|jttjtdddd��y)Nr�r�r'r�rr!��)	r~rUrc�
strict_errors�	Exceptionr*r5r6r?rs r
�test_badandgoodstrictexceptionsz1CodecCallbackTest.test_badandgoodstrictexceptions�s�������� � ��	
�	
����� � ��f��	
�	
����� � ��w��!�Q��?�	
�
	
����� � ��w�	�'�(:�A�q�&�I�	
�
	
���!�� � �!�(�A�q�&�9�	
rc���|jttjd�|jttjt	d��|jtjt
ddddd��d�|jtjtdtd�ddd��d�|jtjtdddd��d�y)	Nr�r�r'�aあbr!rx)r(rx�a�b)
r~rUrc�
ignore_errorsr�rLr*r5r6r?rs r
�test_badandgoodignoreexceptionsz1CodecCallbackTest.test_badandgoodignoreexceptions�s����������
�	
�	
����������	
�	
���� � �"�7�J��1�f�E�
G��	
�
	
���� � �"�7�I�i�,@�!�Q��O�
Q��	
�
	
���� � �%�j�!�Q��?�
A��	
rc��|jttjd�|jttjt	d��|jttjt��|jttjt
��|jtjtddddd��d�|jtjtdtd�ddd��d	�|jtjtdddd��d	�y)
Nr�r�r'r�r!rx)r�rxr�)��rx)r~rUrc�replace_errorsr�r.r9rLr*r5r6r?rs r
� test_badandgoodreplaceexceptionsz2CodecCallbackTest.test_badandgoodreplaceexceptions�s ������� � �
�	
�	
����� � ����	
�
	
�����!�!�'�)�	
�
	
�����!�!�'�)�	
�	
����!�!�"�7�J��1�f�E�
G��	
�
	
����!�!�"�7�I�i�,@�!�Q��O�
Q��	
�
	
����!�!�%�j�!�Q��?�
A��	
rc
��|jttjd�|jttjt	d��|jttjtdt
d�ddd��|jttjtdddd��d}|d	z
}d
jd�|D��}|jtjtdd|zd
zddt|�zd��d
jd�|D��dt|�zf�y)Nr�r�r'r�rr!r�)rr!�	�
�c�di�r�i'�'i��順i?B�@B)i�i��r(c3�2K�|]}t|����y�w�N)�chrr�s  r
r�zOCodecCallbackTest.test_badandgoodxmlcharrefreplaceexceptions.<locals>.<genexpr>s����'�B�q�C��F�B�s�r��bc3�&K�|]	}d|z���y�w)rSNrr�s  r
r�zOCodecCallbackTest.test_badandgoodxmlcharrefreplaceexceptions.<locals>.<genexpr>s����-�"�Q�W�q�[�"�s�)r~rUrc�xmlcharrefreplace_errorsr�r5r6r?r\rLr*r)r	�csrNs   r
�*test_badandgoodxmlcharrefreplaceexceptionsz<CodecCallbackTest.test_badandgoodxmlcharrefreplaceexceptions�s$�������*�*�
�	
�	
�����*�*����	
�	
�����+�+��w�	�'�(:�A�q�&�I�	
�
	
�����+�+�!�(�A�q�&�9�	
���
�����G�G�'�B�'�'������+�+�"�7�C�!�G�c�M�#$�a�#�a�&�j�&�:�
��W�W�-�"�-�
-�q�3�q�6�z�:�	
rc�L�|jttjd�|jttjt	d��gd�}|D]�\}}|j|��5|j
tjtdd|zdzddt|�zd��|dt|�zf�|j
tjtd|zdzddt|�zd��|dt|�zf�ddd���gd	�}|D]c\}}|j|�
�5|j
tjtdtd|zdz�dd
d��|d
f�ddd��ey#1swY��=xYw#1swY�}xYw)Nr�r�))r�z\u3042)�
�\x0a)r��\x61�ry�\x00)�ÿ�\xff)uĀz\u0100)u￿z\uffff)u𐀀z
\U00010000�u􏿿z
\U0010ffff���z\ud800���z\udfff����z\ud800\udfff�r�r'r�r�r!))�ar�)�
r�)�r�)r�r�)r�r��brx)r~rUrc�backslashreplace_errorsr��subTestrLr*rr?r5r6)r	�testsrNr�r�s     r
�)test_badandgoodbackslashreplaceexceptionsz;CodecCallbackTest.test_badandgoodbackslashreplaceexceptionss��������)�)�
�	
�	
�����)�)����	
�
���D�A�q����!��$�� � ��2�2�*�7�C�!�G�c�M�+,�a�#�a�&�j�&�B�C���C��F�
�O�	�� � ��2�2�-�c�A�g��m�./��S��V��V�E�F���C��F�
�O�	�%�$��
���D�A�q����A��&�� � ��2�2�*�7�I�d�Q�h��o�4N�+,�a��9�:���F�	�'�&��'%�$��('�&�s�2B$F
�>AF�
F	�F#	c��|jttjd�|jttjt	d��|jttjtdt
d�ddd��|jttjtdddd��gd�}|D]r\}}|j|�	�5|jtjtdd
|zdzddt|�zd��|dt|�zf�ddd��ty#1swY�xYw)Nr�r�r'r�rr!r�))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�)r~rUrc�namereplace_errorsr�r5r6r?r�rLr*r)r	r�rNr�s    r
�$test_badandgoodnamereplaceexceptionsz6CodecCallbackTest.test_badandgoodnamereplaceexceptionsSs$�������$�$�
�	
�	
�����$�$����	
�	
�����%�%��w�	�'�(:�A�q�&�I�	
�
	
�����%�%�!�(�A�q�&�9�	
�
���D�A�q����!��$�� � ��-�-�*�7�C�!�G�c�M�+,�a�#�a�&�j�&�B�C���C��F�
�O�	�%�$��$�$�s
�AD<�<E	c
��tjd�}|jt|d�|jt|t	d��|jt|tdddd��dD]A}|j
|��5|jt|td	|ddd��ddd��C|j|td	d
ddd��d�|jt|td	td
�ddd��|j|td	td�ddd��d�y#1swY��xYw)N�surrogateescaper�r���rr!)r�u�u�r�r'ua�brx)��rxr�sa�b)rrx)rcr�r~rUr�r?r�r*rLr5r6)r	�surrogateescape_errorsrNs   r
�(test_badandgoodsurrogateescapeexceptionsz:CodecCallbackTest.test_badandgoodsurrogateescapeexceptions�sC��!'�!4�!4�5F�!G������!�
�	
�	
����!����	
�	
����"�!�(�A�q�&�9�	
�+�A����!��$��!�!�&�*�&�w��1�a��@��%�$�+�	
���"�"�7�J��1�f�E�
G��	
�
	
����"��w�	�$���A�v�F�	
�
	
���"�"�7�I�i�,@�!�Q��O�
Q��	
�!%�$�s�%D7�7E	c�&�tjd�}|jt|d�|jt|t	d��|jt|tdddd��dD]t}|j
|��5|jt|t|d	ddd��|jt|t|d	j|�ddd��ddd��vd
D]J}|j
|��5|jt|td|dt|�d��ddd��Lgd
�}|D]�\}}}}|j
|||��5|j|t|d	|zdzddt|�zd��|dt|�zf�|j|t|td|d|zdz�dd|zd��|ddd|zf�ddd���y#1swY���xYw#1swY��xYw#1swY��xYw)N�
surrogatepassr�r�r�rr!)r|�utf-16le�utf-16be�utf-32le�utf-32be��encodingr�)r�r�r�r�r'))r|r�s�r�)rr�s�rx)r
r�s�rx)rr�s�r�)rr�s�r�)r|r�s�r�)rr�s��rx)r
r�s�rx)rr�s��r�)rr�s�r�)r|r�s��r�)rr�s��rx)r
r�s��rx)rr�s���r�)rr�s��r�)rr�r�r�r�r�)
rcr�r~rUr�r?r�r*r5rMrrLr6)r	�surrogatepass_errorsr�rNr�r��ns       r
�&test_badandgoodsurrogatepassexceptionsz8CodecCallbackTest.test_badandgoodsurrogatepassexceptions�s��%�2�2�?�C�������
�	
�	
��������	
�	
���� �!�(�A�q�&�9�	
�M�C����s��+��!�!�&�(�&�s�C��A�v�>��
�!�!�&�(�&�s�C�J�J�s�O�Q��6�J��
,�+�M�6�A����!��$��!�!�&�(�&�w��1�c�!�f�f�E��%�$�6�
��""�L�C��A�q����s����;�� � �(�*�3��a��#�
�+,�a�#�a�&�j�&�B�C���C��F�
�O�	�� � �(�*�3�	�$��2�A��,��:M�0N�+,�a�!�e�V�=�>��r��U�A��E�N�	�<�;�"�G,�+��%�$��0<�;�s&�AG-�.G:�BH�-G7	�:H	�H	c���d}d}|D]p�tjd�fd��|D]$}|jtdj|d��&dD]'\}}|jt|j
|d��)�ry)N)	r��foo)r!rxr��rr!r��rN�rrrr)r'rJr�raztest.badhandlerc����Sr�r)r��ress �r
�<lambda>z:CodecCallbackTest.test_badhandlerresults.<locals>.<lambda>�s���srr�)�r'r��r|r�)r�s+x-)rcrdr~rUrMr})r	�results�encsr�r�rs     @r
�test_badhandlerresultsz(CodecCallbackTest.test_badhandlerresults�s����x��@���C��!�!�"3�]�C����!�!���O�O��%�	��!���e�
�!�!���L�L��%�	�!�rc�h�|jtjtjd��|jtjtjd��|jtjtjd��|jtj
tjd��|jtjtjd��|jtjtjd��y)Nr�r�rIrprt)rLrcr�r�r�r�r�rrs r
�test_lookupzCodecCallbackTest.test_lookups�������-�-�v�/B�/B�8�/L�M�����-�-�v�/B�/B�8�/L�M�����-�-�v�/B�/B�8�/L�M�����+�+���� 3�4�	
�	
����*�*���� 2�3�	
�	
����%�%����
�.�	
rc�`���fd�}tjd|�dD]?\}}�|j|d�}|j|d�zdzj|���AdD]�\}}�|j	|��5|jt�5}|j|d�ddd�j}|j|jd�|j|jd	�|j|j|�ddd���y#1swY�txYw#1swY��xYw)
Nc�\��t|t�r�|jfStd|z���NrR�rTr*r"rU�rrs �r
rzBCodecCallbackTest.test_encode_nonascii_replacement.<locals>.handle �-����#�1�2��c�g�g��&��9�C�?�@�@r�test.replacing))r'�[¤]r�)r��[€]u½¾)rar+uœŸ�[�]))r|�[�]�🐍)r�r/r0)r�r/r0rr!rx)rcrdrMrLr�r~r*�	exceptionrr"r)r	rr��inputr�cmrrs       @r
� test_encode_nonascii_replacementz2CodecCallbackTest.test_encode_nonascii_replacements
���	A�	���.��7�!
��C���
�,�,�s�$4�5�C����S�3��:��#3�";�";�C�"@�A�
!
�!
��C���
���s��+��&�&�'9�:�b��L�L��&6�7�;��l�l��� � ����A�.�� � ����!�,�� � ����U�3�
,�+�!
�;�:��,�+�s%�<D$�D�%A(D$�D!�D$�$D-	c�����fd�}tjd|�dD]�\}}�|j|��5|jt�5}|j|d�ddd�j}|j|jd�|j|jd�|j|j|�ddd���y#1swY�txYw#1swY��xYw)Nc�\��t|t�r�|jfStd|z��r&r'r(s �r
�	unencreplzHCodecCallbackTest.test_encode_unencodable_replacement.<locals>.unencrepl<s-����#�1�2��c�g�g��&�� =�� C�D�Drztest.unencreplhandler))r'r+�½)r�r,uœ)rar+r8)r|r/��)r�r/r9)r�r/r9rr!rx)rcrdr�r~r*rMr1rLrr"r)r	r7r�r2r3rrs      @r
�#test_encode_unencodable_replacementz5CodecCallbackTest.test_encode_unencodable_replacement;s����	E�
	���5�y�A�!
��C������s��+��&�&�'9�:�b��L�L��&=�>�;��l�l��� � ����A�.�� � ����!�,�� � ����U�3�
,�+�!
�;�:��,�+�s$�C �C�!A(C �C�C � C)	c	�0���fd�}tjd|�dD]i\}}�|j|��5|j|d�}|j	|dj|��zdj|�z�ddd��ky#1swY�vxYw)Nc�\��t|t�r�|jfStd|z��r&r'r(s �r
rz?CodecCallbackTest.test_encode_bytes_replacement.<locals>.handleTr)rr*))r'r+���)r�r,r=)rar+r=)r|r/r=)rr/r=)r
r/r=)rr/�����)rr/r>rr-r.)rcrdr�rMrL)r	rr�r2rrs     @r
�test_encode_bytes_replacementz/CodecCallbackTest.test_encode_bytes_replacementSs����	A�	���.��7�	!
��C������s��+��l�l�3�(8�9��� � ��c�j�j��o��&<�s�z�z�#��&N�O�,�+�	!
�,�+�s�A	B�B	c�v���fd�}tjd|�d}gtjdddg��tjdgd����D]�\}�|j	|��	�5|jt�5}|j|d�ddd�j}|j|jd
�|j|jd�|j|j|�|j|jd�ddd���y#1swY��xYw#1swY��xYw)
Nc�\��t|t�r�|jfStd|z��r&r'r(s �r
rzCCodecCallbackTest.test_encode_odd_bytes_replacement.<locals>.handlejr)rr*r/)rr
r�r�)rr)r�sabr�sabcde)rrr!rxzsurrogates not allowed)rcrd�	itertools�productr�r~r*rMr1rLrr"r�reason)r	rr2r�r3rrs      @r
�!test_encode_odd_bytes_replacementz3CodecCallbackTest.test_encode_odd_bytes_replacementis���	A�	���.��7���
�
�
�
�7� $�f�~�/�
��
�
�7�>�@�
�I�C�����s���6��&�&�'9�:�b��L�L��&6�7�;��l�l��� � ����A�.�� � ����!�,�� � ����U�3�� � ����-E�F�7�6�

�;�:��7�6�s%�+D/�D#�BD/�#D,�(D/�/D8	c��|jttjd�|jttjdd�y)Nr�z
test.dummy)r~rUrcrdrs r
�test_badregistercallz&CodecCallbackTest.test_badregistercall�s6��	
���)�V�%:�%:�B�?����)�V�%:�%:�L�"�Mrc�L�|jttj�yr�)r~rUrcr�rs r
�test_badlookupcallz$CodecCallbackTest.test_badlookupcall�s��	
���)�V�%8�%8�9rc�N�|jttjd�y)N�test.unknown)r~�LookupErrorrcr�rs r
�test_unknownhandlerz%CodecCallbackTest.test_unknownhandler�s��	
���+�v�':�':�N�Krc���d}dj|D�cgc]
}t|���c}�}tjdtj�dD]}dD]}|j||���ycc}w)N)
r!�r��2r�i�r�i�r�iP�r�i �r�r(�test.xmlcharrefreplace)r'ra)rIrQ)r\r�rcrdr�rM)r	�vr�rNr�r�s      r
�test_xmlcharrefvaluesz'CodecCallbackTest.test_xmlcharrefvalues�si��
���G�G�Q�'�Q��S��V�Q�'�(�����6��8W�8W�X�+�C�F������c�"�G�,��(s�A0c	�V�|jtdjdd�d�}tjd|�|jt
djdd�|jt
djdd�|jt
djdd�|jt
d	jdd�|jt
d
jdd�|jt
djdd�d
�}tjd|�|jt
djdd�t
�}tjd|j�d|_|jdjdd�d�d|_|jdjdd�d�d|_|jtdjdd�d|_|jdjdd�d�d|_|jdjdd�d�d|_|jtdjdd�d|_|jdjdd�d�Gd�dt�}|jttjddddi�|jttjdd|��|jt
tjdddtj dzi�y) Nr�r'rKc��y�Nr�rrzs r
�baddecodereturn1z=CodecCallbackTest.test_decodehelper.<locals>.baddecodereturn1����rztest.baddecodereturn1�\r�s\x0s\x0ys
\Uffffeeees\uyyyy�raw-unicode-escapec��y�N)r�Nrrzs r
�baddecodereturn2z=CodecCallbackTest.test_decodehelper.<locals>.baddecodereturn2����rztest.baddecodereturn2�test.posreturnr�s�0z<?>0���z<?><?>���r!rxrr��s\uyyyy0c��eZdZd�Zy)�.CodecCallbackTest.test_decodehelper.<locals>.Dc��t�r���
ValueError�r	�keys  r
�__getitem__z:CodecCallbackTest.test_decodehelper.<locals>.D.__getitem__���� � rN�rrrrjrrr
�Drd����
!rrmr��)r~rLr}rcrdrUrrrrL�
IndexErrorr�r�r�rg�sys�
maxunicode)r	rWr]�handlerrms     r
�test_decodehelperz#CodecCallbackTest.test_decodehelper�s���	
���+�w�~�~�w��O�	����5�7G�H����)�W�^�^�W�>U�V����)�U�\�\�3C�E\�]����)�W�^�^�5E�G^�_����)�X�_�_�6F�H_�`����)�^�%:�%:�<L�Ne�f����)�Z�%6�%6�8L�Ne�f�	����5�7G�H����)�W�^�^�W�>U�V��+�����.����?�����������2B�C�V�L�����������2B�C�X�N�������*�h�o�o�w�@P�Q�����������2B�C�V�L�����������2B�C�U�K�������*�h�o�o�w�@P�Q��������+�+�,@�BR�S�U[�\�	!��	!�	
���,��(=�(=�w��SW�Y]�R^�_����*�f�&;�&;�W�h�PQ�PS�T����)�V�%:�%:�G�X�PT�VY�Vd�Vd�ef�Vf�Og�hrc	��|jtdjdd�d�}tjd|�|jt
djdd�d�}tjd|�|jt
djdd�t
�}tjd|j�d	|_|jd
jdd�d�d|_|jd
jdd�d
�d|_|jtd
jdd�d|_|jd
jdd�d�d|_|jd
jdd�d�d|_|jtd
jdd�d|_Gd�dt�}dD]�}|jttjd|ddi�|jttjd||��|jt
tjd|ddi���y)Nr�r'rKc��yrVrrzs r
�badencodereturn1z=CodecCallbackTest.test_encodehelper.<locals>.badencodereturn1�rXrztest.badencodereturn1c��yr\rrzs r
�badencodereturn2z=CodecCallbackTest.test_encodehelper.<locals>.badencodereturn2�r^rztest.badencodereturn2r_r�uÿ0s<?>0r`s<?><?>rar!rxs<?>r�rc��eZdZd�Zy)�.CodecCallbackTest.test_encodehelper.<locals>.Dc��t�r�rfrhs  r
rjz:CodecCallbackTest.test_encodehelper.<locals>.D.__getitem__rkrNrlrrr
rmr{rnrrm)r�r�rIrprtr_roi,)r~rLrMrcrdrUrrrrLrpr�r�r�rg)r	rwryrsrmr�s      r
�test_encodehelperz#CodecCallbackTest.test_encodehelper�s���	
���+�v�}�}�g�~�N�	����5�7G�H����)�V�]�]�G�=T�U�	����5�7G�H����)�V�]�]�G�=T�U��+�����.����?�����������1A�B�G�L�����������1A�B�I�N�������*�g�n�n�g�?O�P�����������1A�B�G�L�����������1A�B�F�K�������*�g�n�n�g�?O�P����	!��	!�I�C����l�F�,A�,A�6�3�QU�W[�P\�]����j�&�*?�*?���a�c�R����i��)>�)>���d�TW�[�Y�	Irc�B�td�}tjd|j�gd�}|D]_\}}dj	|�|z}|j|��5d|_|j|d�}|j|d�ddd��ay#1swY�lxYw)Nr��
test.bug36819)rr)r
s܀)rs܀)z
iso-8859-6r��abcdrrP�abcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdx)	rrcrdrrMr�rr}rL)r	rs�	testcasesr�r)r2�decodeds       r
�test_decodehelper_bug36819z,CodecCallbackTest.test_decodehelper_bug36819s���#�C�(�����o�w�~�~�>�
�	�"�H�C���M�M�#�&��,�E����s��+� "��
��,�,�s�O�<��� � ��,�7�,�+�"�+�+�s�,B�B	c��t�}tjd|j�d}gd�}|dgz
}tj
dk(rddg}d|_|D]�}|j|�	�5d
|_|jt�5}|j|d�ddd�j}|j|jd�|j|jd�|j|j |�ddd���tj
dk(r�d
|_|jt�5}tj"d
|d�ddd�j}|j|jd�|j|jd�|j|j |�d|_|D]W}|j|�	�5d
|_|j|d�}|j|j%|�d�ddd��Ytj
dk(r`d
|_tj"d
|d�}|j|dj%�d�|j|dt'|��yy#1swY���xYw#1swY��TxYw#1swY��[xYw#1swY��xYw)Nruabcd�)r'�latin1r|r�r�ra�win32�mbcs�oemr9rrPr�rOi�r�r�rr!)rrcrdrrq�platformrr�rr~r*rMr1rLrr"r�code_page_encoder}r)r	rsr2�	encodingsr�r3r�encodeds        r
�test_encodehelper_bug36819z,CodecCallbackTest.test_encodehelper_bug36819"sB��#�%�����o�w�~�~�>���D�	��m�_�$�	��<�<�7�"����I�����C����s��+� "��
��&�&�'9�:�b��L�L��o�6�;��l�l��� � ����A�.�� � ����!�,�� � ����U�3�,�+���<�<�7�"��G�M��"�"�#5�6�"��'�'��U�O�D�7��,�,�C����S�Y�Y��*����S�W�W�a�(����S�Z�Z��/�����C����s��+�!#��
��,�,�s�O�<��� � �����!4�l�C�
,�+���<�<�7�"��G�M��-�-�c�5�/�J�G����W�Q�Z�.�.�0�,�?����W�Q�Z��U��4�	#�1;�:��,�+��7�6��,�+�s=�,J!�	J�A(J!�=J.�;J;�J�J!�!J+	�.J8�;K	c���Gd�dt�}|jtdjdtj
dzi�|jtdjddi�y)Nc��eZdZd�Zy)�1CodecCallbackTest.test_translatehelper.<locals>.Dc��t�r�rfrhs  r
rjz=CodecCallbackTest.test_translatehelper.<locals>.D.__getitem__UrkrNrlrrr
rmr�Trnrrmr�ror!r)r�r~rg�	translaterqrrrU)r	rms  r
�test_translatehelperz&CodecCallbackTest.test_translatehelperNsR��	!��	!�	
���*�f�&6�&6��s�~�~�a�?O�8P�Q����)�V�%5�%5��b�z�Brc	��td�dtd�dtd�dtd�di}d	D]}d
|z}|j|��y)N�&z&amp;�<z&lt;�>z&gt;�"z&quot;)r!r�r�r�zabc<def>ghi)rZr�)r	r�r�texts    r
�test_bug828737z CodecCallbackTest.test_bug828737[sN����H�g���H�f���H�f���H�h�	
��$�A� ��?�D��N�N�7�#�$rc�T�gd�}d�}tjd|�|D]5\}}|jt�5|j	|d�ddd��7d�}tjd|�|D]'\}}|j|j	|d�d��)y#1swY��xYw)N)r)r�s++r)r�r�)r�r�)r��\u123g)rZr�c�N�t|t�rd|_ytd|z��)Nr���䉂rrR�rTr5rrUrzs r
�	replacingz?CodecCallbackTest.test_mutatingdecodehandler.<locals>.replacingrs(���#�1�2���
�$�� =�� C�D�Drr*c�N�t|t�rd|_ytd|z��)Nrr�rRr�rzs r
�mutatingz>CodecCallbackTest.test_mutatingdecodehandler.<locals>.mutating~s(���#�1�2� ��
�$�� =�� C�D�Drz
test.mutatingr�)rcrdr~rUr}rL)r	�baddatar�r�datar�s      r
�test_mutatingdecodehandlerz,CodecCallbackTest.test_mutatingdecodehandlergs���
��	E�	���.�	�:� '��X�t��"�"�9�-����H�&6�7�.�-�!(�	E�	���o�x�8�!(��X�t����T�[�[��?�C�X�N�!(�.�-�s�B�B'	c��d�}tjd|�|jdjdd�d�|jdjdd�d�|jdjd	d�d
�|jdjdd�d
�d
�}tjd|�|jdjdd�d�|jdjdd�d�y)Nc�`�t|t�rd|jdzfStd|z��)Nr�r!rR)rTr5rrUrzs r
�forward_shorter_than_endzPCodecCallbackTest.test_crashing_decode_handler.<locals>.forward_shorter_than_end�s1���#�1�2� �#�)�)�A�+�.�.�� =�� C�D�Drztest.forward_shorter_than_ends�����z	utf-16-leu����Øs�����z	utf-16-besz	utf-32-leu
���ᄑsz	utf-32-bec�h�t|t�rd|_d|jfSt	d|z��)Nsr�rR)rTr5rrrUrzs r
�replace_with_longzICodecCallbackTest.test_crashing_decode_handler.<locals>.replace_with_long�s4���#�1�2�(��
� �#�)�)�,�,�� =�� C�D�Drztest.replace_with_longr�r�u�r�u�)rcrdrLr})r	r�r�s   r
�test_crashing_decode_handlerz.CodecCallbackTest.test_crashing_decode_handler�s��	E�	���+�-E�	G�	
���/�6�6��<�
>�.�	
�
	
���/�6�6��<�
>�.�	
�
	
���;�B�B��<�
>�*�	
�
	
���;�B�B��<�
>�*�	
�	E�	���6�8I�J�����N�N�8�%=�>�$�	
�	
����N�N�8�%=�>��	
rc
����tjtjtjtjtj
tjtjd�tjd�g}tttfD]��G�fd�dt�}|D]:}|j|���5|jt||��ddd��<G�fd�dt�}|D]K}|j|���5|jt|f�5||��ddd�ddd��M��y#1swY��xYw#1swY�"xYw#1swY�rxYw)Nrrc���eZdZW�Zy��ACodecCallbackTest.test_fake_error_class.<locals>.FakeUnicodeErrorN�rrr�	__class__��clss�r
�FakeUnicodeErrorr�������	rr�)rs�error_classc���eZdZW�Zyr�r�r�s�r
r�zACodecCallbackTest.test_fake_error_class.<locals>.FakeUnicodeError�r�r)rcr�r�r�r�rr�r�r*r5r?r�r�r~rUr�)r	�handlersr�rsr�s    @r
�test_fake_error_classz'CodecCallbackTest.test_fake_error_class�s+���� � �� � ��!�!��*�*��%�%��+�+���� 1�2�����0�	
��&�'9�;P�P�C�
 �3�
 �#���\�\�'�s�\�C��%�%�i��:J�:L�M�D�C�$�
 �9�
 �#���\�\�'�s�\�C��*�*�I�7G�+H�I�� 0� 2�3�J�D�C�$�Q�D�C��J�I��D�C�s0�E�E&�+E	�9E&�E�E#
�E&�&E/N)+rrrrOrgrmrrrurr�r�r�r�r�r�r�r�r�r�r�rrr	rr!r#r4r:r?rErGrIrMrSrtr}r�r�r�r�r�r�r�rrr
rGrGPs���
�U�4Q�<N�I� 7�2U�*7
�r�&(�2
�@

�
�6
�>
�<&
�P#
�J8�t,�\*
�XF�P�2
�"4�84�0P�,G�2N�:�
L�

#�9i�v4Z�l8�$*5�XC�
$�!O�H0
�f4rrG�__main__)rc�
html.entitiesrWrBrqrj�unittestrrr*r$r.r5r2r9r?r<rArD�TestCaserGr�mainrrr
�<module>r�s���
���
�����"
$�
$��!3���"4���0���"4���#8���!6���$9��
D4��)�)�D4�N$�z���H�M�M�O�r

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