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_base64.cpython-312.pyc

�

&Μg8�����ddlZddlZddlZddlZddlmZddlmZddlmZGd�dej�Z	Gd�dej�Z
Gd	�d
ej�Zedk(rej�yy)�N)�array)�	os_helper)�
script_helperc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�LegacyBase64TestCasec�&�|jt|d�|jt|g�td�jdd�}|jt||�td�jd�}|jt||�y)N�s1234�B)�r�I)�assertRaises�	TypeError�
memoryview�cast)�self�f�multidimensional�int_datas    �-/usr/local/lib/python3.12/test/test_base64.py�check_type_errorsz&LegacyBase64TestCase.check_type_errors
sx�����)�Q��+����)�Q��+�%�g�.�3�3�C��@�����)�Q�(8�9��g�&�+�+�C�0�����)�Q��1�c���|j}|tjd�d�|tjd�d�|tjd�d�|tjd�d�|tjd	�d	�|tjd
�d�|tjd�d
�|tjtd��d�|tjt	d��d�|tjtdd��d�|j
tj�y)N�www.python.org�d3d3LnB5dGhvbi5vcmc=
�a�YQ==
�ab�YWI=
�abc�YWJj
r�RabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}�rYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0
NTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==
�Aladdin:open sesame�QWxhZGRpbjpvcGVuIHNlc2FtZQ==
r
)�assertEqual�base64�encodebytes�	bytearrayrrr�r�eqs  r�test_encodebytesz%LegacyBase64TestCase.test_encodebytess��
�
�
��
�6���/�0�2K�L�
�6���d�#�Y�/�
�6���e�$�i�0�
�6���f�%�y�1�
�6���c�"�C�(�
�6���A�B�3�	4�	�6���4�5�?�	A�	�6���i��/�0�)�<�
�6���j��0�1�9�=�
�6���e�C��0�1�9�=����v�1�1�2rc���|j}|tjd�d�|tjd�d�|tjd�d�|tjd�d�|tjd	�d
�|tjd�d�|tjd�d
�|tjtd��d�|tjt	d��d�|tjtdd��d�|j
tj�y)Nrrrrrrr rr"r!rr$r#r
)r%r&�decodebytesr(rrrr)s  r�test_decodebytesz%LegacyBase64TestCase.test_decodebytes*s��
�
�
��
�6���7�8�:K�L�
�6���i�(�$�/�
�6���i�(�%�0�
�6���i�(�&�1�
�6���G�H�-�	.�	�6���c�"�C�(�
�6���?�@�4�	6�	�6���i�	�2�3�V�<�
�6���j��3�4�f�=�
�6���e�C��3�4�f�=����v�1�1�2rc���|j}ddlm}m}|d�}|�}t	j
||�||j
�d�|jttj
|d�|��|jttj
|d�|��|jttj
|d�|��y)Nr��BytesIO�StringIOr!r"�abcr)	r%�ior1r2r&�encode�getvaluer
r)rr*r1r2�infp�outfps      r�test_encodez LegacyBase64TestCase.test_encode?s���
�
�
��(��9�:���	���
�
�d�E�"�
�5�>�>��3�	4�
	
���)�V�]�]�H�U�O�W�Y�O����)�V�]�]�G�F�O�X�Z�P����)�V�]�]�H�U�O�X�Z�Prc���ddlm}m}|d�}|�}tj||�|j|j
�d�|jttj|d�|��|jttj|d�|��|jttj|d�|��y)Nrr0�d3d3LnB5dGhvbi5vcmc=rzYWJj
r )
r4r1r2r&�decoder%r6r
rr5)rr1r2r7r8s     r�test_decodez LegacyBase64TestCase.test_decodePs���(��.�/���	���
�
�d�E�"�������)�+<�=����)�V�]�]�H�X�4F��	�R����)�V�]�]�G�I�4F��
�S����)�V�]�]�H�X�4F��
�SrN)�__name__�
__module__�__qualname__rr+r.r9r=�rrrr
s��2�3�*3�*Q�"	Trrc���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!y )!�BaseXYTestCasec�`�|jt|d�|jt|g�y)Nr	�r
r�rrs  r�check_encode_type_errorsz'BaseXYTestCase.check_encode_type_errors`s&�����)�Q��+����)�Q��+rc�2�|jt|g�y�NrErFs  r�check_decode_type_errorsz'BaseXYTestCase.check_decode_type_errorsds�����)�Q��+rc�D�|j}t|�}|||�|�|||�||t|��|�||td|��|�|j	t
j|�|jt
j|�y)Nr
)r%r(rr�check_nonbyte_element_formatr&�	b64encode�check_multidimensional)rr�
bytes_data�expectedr*�bs      r�check_other_typesz BaseXYTestCase.check_other_typesgs���
�
�
���j�!��
�1�Q�4���
�1�j��
�1�Z�
�
#�$�h�/�
�1�U�3�
�
#�$�h�/��)�)�&�*:�*:�J�G��#�#�F�$4�$4�j�Arc���t|�dzrdnd}||z}t|�dzdf}t|�jd|�}|j||�||��y)Nr�rr
��lenrrr%)rr�data�paddingrO�shapers       rrNz%BaseXYTestCase.check_multidimensionalssa�� ��Y��]�'����G�^�
��Z��A�%�q�)��%�j�1�6�6�s�E�B������+�,�a�
�m�<rc��ddt|�z
dzz}||z}t|�jd�}|j||�||��y)NrT�rrU)rrrWrXrOrs      rrLz+BaseXYTestCase.check_nonbyte_element_formatzsO���a�#�d�)�m�q�0�1���G�^�
��j�)�.�.�s�3������8��a�
�m�4rc	�"�|j}|tjd�d�|tjd�d�|tjd�d�|tjd�d�|tjd	�d
�|tjd�d�|tjd�d
�|tjdd��d�|tjdtd���d�|tjdt	d���d�|tjdtdd���d�|j
tjdd�|jtj�|jttjdd��|tjd�d�|tjd�d�|tjd�d�|tjd	�d
�|tjd�d�|tjd�d
�|j
tjdd�|jtj�|tjd�d�|j
tjdd�|jtj�y)Nrr;rT�AA==r�YQ==r�YWI=r�YWJjrr!spYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==��V�o��*$��altchars�01a*b$cdr
�abcdsYWJjZA==z*$�01a-b_cd)r%r&rMr(rrrRrGr
r�standard_b64encode�urlsafe_b64encoder)s  r�test_b64encodezBaseXYTestCase.test_b64encode�sv��
�
�
��
�6���-�.�0G�H�
�6���G�$�g�.�
�6���D�!�7�+�
�6���E�"�G�,�
�6���F�#�W�-�
�6���C� �#�&�
�6���>�?�1�	2�	�6���1�E�B�K�P�
�6���1�I�e�<L�M��	�
�6���1�J�u�<M�N��	�
�6���1�E�#�u�<M�N��	�	
���v�/�/��+�F��%�%�f�&6�&6�7����)�V�%5�%5�s�T��J�
�6�$�$�%6�7�9P�Q�
�6�$�$�T�*�G�4�
�6�$�$�U�+�W�5�
�6�$�$�V�,�g�6�
�6�$�$�S�)�3�/�
�6�$�$�&G�H�1�	2�	
���v�8�8�&��	5��%�%�f�&?�&?�@�
�6�#�#�$9�:�K�H����v�7�7�4�k�	C��%�%�f�&>�&>�?rc�f�|j}dddddddd�}|j�D]L\}}|tj|�|�|tj|j	d	��|��N|jtjd
d�|j
tj�ddi}|j�D]�\\}}}|j	d	�}|j	d	�}|tj||�
�|�|tj||�
�|�|tj||�
�|�|tj||�
�|���|j�D]L\}}|tj|�|�|tj|j	d	��|��N|jtjd
d�|j
tj�ddd�}	|	j�D]L\}}|tj|�|�|tj|j	d	��|��N|jtjdd�|j
tj�y)NrrTrrrr!r)r;r]r^r_r`sqYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0
NTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==r�asciir`)rerbrarc)rgrrg)	r%�itemsr&�	b64decoder<rRrJ�standard_b64decode�urlsafe_b64decode)
rr*�testsrW�res�tests_altcharsrd�data_str�altchars_str�
tests_urlsafes
          r�test_b64decodezBaseXYTestCase.test_b64decode�sK��
�
�
��*;�!��� �
3��
������I�D�#��v����%�s�+��v������G� 4�5�s�;�'�	
���v�/�/��&�A��%�%�f�&6�&6�7�/�0E���%3�%9�%9�%;�!��T�8�c��{�{�7�+�H�#�?�?�7�3�L��v����x�8�#�>��v����8�<�c�B��v����|�<�c�B��v����<�@�#�F�&<�����I�D�#��v�(�(��.��4��v�(�(����W�)=�>��D�'�	
���v�8�8�'�6�J��%�%�f�&?�&?�@�'<�!��
�'�,�,�.�I�D�#��v�'�'��-�s�3��v�'�'����G�(<�=�s�C�/�	
���v�7�7��4�	6��%�%�f�&>�&>�?rc��|jtjtjd�|jtjtjd�y)Nrr3)r
�binascii�Errorr&rn�rs r�test_b64decode_padding_errorz+BaseXYTestCase.test_b64decode_padding_error�s:�����(�.�.�&�*:�*:�F�C����(�.�.�&�*:�*:�E�Brc
�>�d}tjtjtjf}|D]�\}}|D]]}|j	||��5|j||�|�|j||j
d��|�ddd��_|jtj�5tj|d��ddd�|jtj�5tj|j
d�d��ddd���d}|jtjdd�|�|jtjd	�|�y#1swY��GxYw#1swY��xYw#1swY��hxYw)
N)
)s%3d==��)s$3d==r~)s[==r)sYW]3=sam)s3{d==r~)s3d}==r~)s@@r)�!r)r r)s	YWJj
YWI=sabcab)�bstr�funcrlT)�validates����s++[[//]]s[]s++--//__)
r&rnrorp�subTestr%r<r
ryrz)rrq�funcsr�rrr�s      r�test_b64decode_invalid_charsz+BaseXYTestCase.test_b64decode_invalid_chars�sE��	,��
����%�%��$�$�
��
�I�D�#����\�\�t�$�\�7��$�$�T�$�Z��5��$�$�T�$�+�+�g�*>�%?��E�8�7���"�"�8�>�>�2�� � ���5�3��"�"�8�>�>�2�� � ����W�!5��E�3�2��*������)�)�+�u�=�s�C�����1�1�+�>��D�8�7��3�2��2�2�s%�AE9�;F�:'F�9F�F	�F	c�$�|j}|tjd�d�|tjd�d�|tjd�d�|tjd�d�|tjd�d	�|tjd
�d�|tjd�d
�|jtjd
d�|j	tj�y)NrrT�AA======r�ME======r�MFRA====r�MFRGG===rf�MFRGGZA=�abcde�MFRGGZDF)r%r&�	b32encoderRrGr)s  r�test_b32encodezBaseXYTestCase.test_b32encodes���
�
�
��
�6���C� �#�&�
�6���G�$�k�2�
�6���D�!�;�/�
�6���E�"�K�0�
�6���F�#�[�1�
�6���G�$�k�2�
�6���H�%�{�3����v�/�/��+�F��%�%�f�&6�&6�7rc�n�|j}dddddddd�}|j�D]L\}}|tj|�|�|tj|j	d	��|��N|jtjd
d�|j
tj�y)NrrTrrrrfr�)rr�r�r�r�r�r�rlr�)r%rmr&�	b32decoder<rRrJ�rr*rqrWrrs     r�test_b32decodezBaseXYTestCase.test_b32decodes���
�
�
���%�"�#�$�%�&�
������I�D�#��v����%�s�+��v������G� 4�5�s�;�'�	
���v�/�/��f�E��%�%�f�&6�&6�7rc�Z�|j}dddddddddddd�}|j�D]N\}}|tj|d�|�|tj|j	d	�d�|��P|jtjtjd
�|jtjtjd�|tjd�d
�|tjd�d
�d
dd�}|j�D�]\\}}}|j	d	�}|j	d	�}|tj||��|�|tj||��|�|tj||��|�|tj||��|�|jtjtj|�|jtjtj|���y)Nrrrrrfr�)rr�r�r�r�r��me======smfra====smfrgg===smfrggza=smfrggzdfTrlr�zme======sMLO23456sbݭ��MLO23456sb��))�M1023456�L)r��I)�map01)r%rmr&r�r<r
ryrz)	rr*rqrWrr�	map_testsr�rt�	map01_strs	         r�test_b32decode_casefoldz&BaseXYTestCase.test_b32decode_casefold-s���
�
�
���"�#�$�%�&�"�#�$�%�&�������I�D�#��v����d�+�S�1��v������G� 4�d�;�S�A�'�	
���(�.�.�&�*:�*:�K�H����(�.�.�&�*:�*:�J�G�	�6���K�(�*>�?�
�6���J�'�)=�>�*>�*>��	�#,�/�/�"3��M�T�5�3��{�{�7�+�H����W�-�I��v����E�2�C�8��v�����6��<��v����I�6��<��v����	�:�C�@����h�n�n�f�.>�.>��E����h�n�n�f�.>�.>��I�#4rc�`�gd�}gd�}tdd�D]H}|r|jd|z�|D]+}t|�|zdk7s�|j|d|zz��-�J|D]�}|j|��5|j	t
j�5tj|�ddd�|j	t
j�5tj|jd��ddd�ddd���y#1swY�`xYw#1swY� xYw#1swY��xYw)	N)r�ABCDEF==�==ABCDEF��MsMEsMFRAsMFRGGsMFRGGZAr�r��=�)rWrl)
�range�appendrVr�r
ryrzr&r�r<�rrq�prefixes�i�prefixrWs      r�test_b32decode_errorz#BaseXYTestCase.test_b32decode_errorVs���2��L���q�"��A�����T�!�V�$�"���v�;��?�a�'��L�L��$�q�&��1�#���D����4��(��&�&�x�~�~�6��$�$�T�*�7��&�&�x�~�~�6��$�$�T�[�[��%9�:�7�)�(��6�6��6�6��)�(��<�7 D$�D�-'D$�%D�9D$�D�D$�D!�D$�$D-	c��gd�}|D]E\}}|j|��5|jtj|�|�ddd��Gy#1swY�RxYw)N))rr)rT�00======)r�C4======)r�C5H0====)r�C5H66===)rf�C5H66P0=)r��C5H66P35��	to_decode)r�r%r&�b32hexencode)r�
test_cases�	to_encoderPs    r�test_b32hexencodez BaseXYTestCase.test_b32hexencodefsR��	
�
�$.��I�x����	��2�� � ��!4�!4�Y�!?��J�3�2�$.�2�2�s�&A�A	c��|jtjdd�|jtj�y)Nrfr�)rRr&r�rGr{s r�test_b32hexencode_other_typesz,BaseXYTestCase.test_b32hexencode_other_typesus.�����v�2�2�G�[�I��%�%�f�&9�&9�:rc	�(�gd�}|D]}\}}}|j||��5|jtj||�|�|jtj|j	d�|�|�ddd��y#1swY��xYw)N))rrF)r�rTF)r�rF)r�rF)r�rF)r�rfF)r�r�F)rrT)r�rTT)r�rT)r�rT)r�rT)r�rfT)r�r�T)�c4======rT)sc5h0====rT)sc5h66===rT)sc5h66p0=rfT)sc5h66p35r�T)r��casefoldrl)r�r%r&�b32hexdecoder<)rr�r�rPr�s     r�test_b32hexdecodez BaseXYTestCase.test_b32hexdecodeys���
�
�,.8�)�I�x�����	�H��E�� � ��!4�!4�Y��!I�!)�+�� � ��!4�!4�Y�5E�5E�g�5N�!)�"+�,4�6�F�E�.8�E�E�s�AB�B	c��|jtjdd�|jtj�y)Nr�r)rRr&r�rJr{s r�test_b32hexdecode_other_typesz,BaseXYTestCase.test_b32hexdecode_other_types�s.�����v�2�2�K��H��%�%�f�&9�&9�:rc�`�gd�}gd�}tdd�D]H}|r|jd|z�|D]+}t|�|zdk7s�|j|d|zz��-�J|D]�}|j|��5|j	t
j�5tj|�ddd�|j	t
j�5tj|jd��ddd�ddd���y#1swY�`xYw#1swY� xYw#1swY��xYw)	N)rr�r�r�r�rr�r�r�r�rl)
r�r�rVr�r
ryrzr&r�r<r�s      r�test_b32hexdecode_errorz&BaseXYTestCase.test_b32hexdecode_error�s���?��L���q�"��A�����T�!�V�$�"���v�;��?�a�'��L�L��$�q�&��1�#���D������-��&�&�x�~�~�6��'�'��-�7��&�&�x�~�~�6��'�'����G�(<�=�7�.�-��6�6��6�6��.�-�r�c��|j}|tjd�d�|tjd�d�|jtjdd�|j	tj�y)N�����
0102ABCDEFrT�00)r%r&�	b16encoderRrGr)s  r�test_b16encodezBaseXYTestCase.test_b16encode�sh��
�
�
��
�6���3�4�m�D�
�6���G�$�e�,����v�/�/�1H�,�	.��%�%�f�&6�&6�7rc�N�|j}|tjd�d�|tjd�d�|tjd�d�|tjd�d�|jtj
tjd�|jtj
tjd�|tjdd	�d�|tjdd	�d�|j
tjdd�|jtj�|tjtd�d	�d�|tjtd�d	�d�|tjtd
d�d	�d�|jtj
tjd�|jtj
tjd�y)
Nr�r��
0102ABCDEFr�rT�00s
0102abcdef�
0102abcdefTr
�0102AG�010)r%r&�	b16decoder
ryrzrRrJr(rrr)s  r�test_b16decodezBaseXYTestCase.test_b16decode�s���
�
�
��
�6���M�*�,C�D�
�6���L�)�+B�C�
�6���E�"�G�,�
�6���D�!�7�+����(�.�.�&�*:�*:�M�J����(�.�.�&�*:�*:�L�I�
�6���M�4�0�2I�J�
�6���L�$�/�1H�I����v�/�/��6�	8��%�%�f�&6�&6�7�
�6���I�m�4�d�;�"�	$�
�6���J�}�5�t�<�"�	$�
�6���E�#�}�5�t�<�"�	$�	
���(�.�.�&�*:�*:�H�E����(�.�.�&�*:�*:�E�Brc��|j}ddddttd��ddddd	d
ddd
ddddddddddddi
}|j�D]f\}}|t	j
|�||�|t	j
|d��||�|t	j
|d��d|zdz|��h|j
tj
dd�|jttj
d�|t	j
dd d�!�d"�|t	j
d#d d�!�d$�|t	j
dd d�!�d%�|t	j
d&dd�'�d(�|t	j
d)dd�'�d*�|t	j
d+dd�'�d,�|t	j
d-dd�'�d.�y)/Nrr�GB\6`E-ZP=Df.1GEb>�s?!!*-'"9eu7#RLhG$k3[W&.oNg'GVB"(`=52*$$(B+<_pR,UFcb-n-Vr/1iJ-0JP==1c70M3&s#]4?Ykm5X@_(6q'R884cEH9MJ8X:f1+h<)lt#=BSg3>[:ZC?t!MSA7]@cBPD3sCi+'.E,fo>FEMbNG^4U^I!pHnJ:W<)KS>/9Ll%"IN/`jYOHG]iPa.Q$R$jD4S=Q7DTV8*TUnsrdW2ZetXKAY/Yd(L?['d?O\@K2_]Y2%o^qmn*`5Ta:aN;TJbg"GZd*^:jeCE.%f\,!5gtgiEi8N\UjQ5OekiqBum-X60nF?)@o_%qPq"ad`r;HTr!�g@:E_WAS,RgBkhF"D/O92EH6,BF`qtRH$VbC6UX@47n?3D92&&T:Jand;cHat='/U/0JP==1c70M3&r-I,;<FN.OZ`-3]oSW/g+A(H[P�no padding..�DJpY:@:Wn_DJ(RS�zero compression�H=_,8+Cf>,E,oN2F(oQ1z�zero compression�H=_,8+Cf>,E,oN2F(oQ1!!!!�
Boundary:�6>q!aA79M(3WK-[!!�Space compr:    �;fH/TAKYK$D/aMV+<VdL���rr����s8N�����s8W*������s8W-!F��adobeT�<~�~>r	�)�wrapcolr�sGB\6`E-
ZP=Df.1
GEb>swww.python.orgszGB\6`E
-ZP=Df.
1GEb>s<~GB\6`
E-ZP=Df
.1GEb>
~>�        ��
foldspacesr��yy�       �y+<Vd�      �y+<U�     �y+9)	r%�bytesr�rmr&�	a85encoderRr
rr�s     r�test_a85encodezBaseXYTestCase.test_a85encode�s���
�
�
��
���5��%��*�� �
2�I��/�'�)A�%�'B� �"6��!8��U��v��w��x�-��2����I�D�#��v����%�s�D�1��v����E�2�C��>��v����D�1�5�3�;��3F��M�'�
	
���v�/�/�1B�5�	7�	
���)�V�%5�%5�r�:�
�6���-�q��F�%�	'�
�6���5�q��N�&�	(�
�6���-�q��E�+�	-�	�6���F�t�5�A�5�I�
�6���F�t�5�A�8�L�
�6���F�t�5�A�7�K�
�6���F�t�5�A�6�Jrc�"�|j}ddddttd��ddddd	d
ddd
ddddddddddddi
}|j�D]!\}}|t	j
|�|��#|j
tj
dd�y)Nrr�cXxL#aCvlSZ*DGca%Tr��?009C61O)~M2nh-c3=Iws5D^j+6crX17#SKH9337XAR!_nBqb&%C@Cr{EG;fCFflSSG&MFiI5|2yJUu=?KtV!7L`6nNNJ&adOifNtP*GA-R8>}2SXo+ITwPvYU}0ioWMyV&XlZI|Y;A6DaB*^Tbai%jczJqze0_d@fPsR8goTEOh>41ejE#<ukdcy;l$Dm3n3<ZJoSmMZprN9pq@|{(sHv)}tgWuEu(7hUw6(UkxVgH!yuH4^z`?@9#Kp$P$jQpf%+1cv(9zP<)YaD4*xB0K+}+;a;Njxq<mKk)=;`X~?CtLF@bU8V^!4`l`1$(#{Qdpr!�gVPa!sWoBn+X=-b1ZEkOHadLBXb#`}nd3r%YLqtVJM@UIZOH55pPf$@(Q&d$}S6EqEFflSSG&MFiI5{CeBQRbjDkv#CIy^osE+AW7dwlr��Zf_uPVPs@!Zf7nor��dS!BNAY*TBaB^jHb7^mG00000r��dS!BNAY*TBaB^jHb7^mG0000r��LT`0$WMOi7IsgCw00r��Q*dEpWgug3ZE$irARr(hr��{{r��|Njr��|Ns9r��|NsC0)r%r�r�rmr&�	b85encoderRr�s     r�test_b85encodezBaseXYTestCase.test_b85encodes���
�
�
��
���4��%��*�� �
6�H��/�/�1M�+�-H�,�.F��!8��U��v��w��x�-
��2����I�D�#��v����%�s�+�'�	
���v�/�/�1B�4�	6rc���|j}ddttd��dddddd	d
ddd
d�
}|j�D]�\}}|t	j
|�||�|t	j
|d��||�|t	j
|j
d�d��||�|t	j
d|zdzd��||�|t	j
|dzd��||�|t	j
d|j
d�zd��||���|t	j
ddd��d�|t	j
ddd��d�|t	j
ddd��d�|t	j
ddd��d�|t	j
dd� �d!�|jtj
d"d�y)#Nrrr�r!r�r�r�r�r�r�r�r�r�)
rr�sJ! ! * -'"
		9eu
7#  RLhG$k3[W&.oNg'GVB"(`=52*$$(B+<_pR,UFcb-n-Vr/1iJ-0JP==1c70M3&s#]4?Ykm5X@_(6q'R884cEH9MJ8X:f1+h<)lt#=BSg3>[:ZC?t!MSA7]@cBPD3sCi+'.E,fo>FEMbNG^4U^I!pHnJ:W<)KS>/9Ll%"IN/`jYOHG]iPa.Q$R$jD4S=Q7DTV8*TUnsrdW2ZetXKAY/Yd(L?['d?O\@K2_]Y2%o^qmn*`5Ta:aN;TJbg"GZd*^:jeCE.%f\,!5gtgiEi8N\UjQ5OekiqBum-X60nF?)@o_%qPq"ad`r;HTr�r�r�r�r�r�r�r�r�r�Fr�rlr�r�Tz<~%s~>r�r�r�r�r�r�r�r�r�saaaaay�r�sɀ@    r�)r%r�r�rmr&�	a85decoder<rRr�s     r�test_a85decodezBaseXYTestCase.test_a85decode$s���
�
�
���$5�"�%��*�-�-� /�&I�)H�">�%8�����-��2����I�D�#��v����%�s�D�1��v����E�2�C��>��v������G� 4�E�B�C��N��v������u� 4�D�A�3��M��v����u��D�9�3��E��v����4�;�;�w�+?� ?�t�L��D�
�
'�	�6���E�d�%�@�&�I�
�6���H��U�C�V�L�
�6���G��E�B�F�K�
�6���F�t�5�A�6�J�
�6���I�$�7�9M�N����v�/�/�1G�0�	2rc�`�|j}ddttd��dddddd	d
ddd
d�
}|j�D]L\}}|t	j
|�|�|t	j
|j
d��|��N|jtj
dd�y)Nrrr�r!r�r�r�r�r�r�r�r�r�)
rr�r�rrrrrrrrrr	rlr�)r%r�r�rmr&�	b85decoder<rRr�s     r�test_b85decodezBaseXYTestCase.test_b85decodeRs���
�
�
���#4�#�5��:�.�6� /�*M�)H�&F�%8�����-
��2����I�D�#��v����%�s�+��v������G� 4�5�s�;�'�	
���v�/�/�1F�0�	2rc�`�|j}|tjdd��d�|tjdd��d�|tjdd��d�|tjd	d��d
�|tjdd��d�|tjd�d
�|tjd�d�|tjd�d�|tjd
�d	�|tjd�d�y)N�xT��padsGQ7^D�xxsG^'2g�xxxsG^+H5�xxxxsG^+IX�xxxxxs
G^+IXGQ7^D�x�xx�xxx�xxxxx)r%r&r�rr)s  r�test_a85_paddingzBaseXYTestCase.test_a85_paddingu����
�
�
��
�6���D�d�+�X�6�
�6���E�t�,�h�7�
�6���F��-�x�8�
�6���G��.��9�
�6���H�$�/��?�
�6���H�%�'7�8�
�6���H�%�}�5�
�6���H�%�z�2�
�6���H�%�w�/�
�6���M�*�,@�Arc�`�|j}|tjdd��d�|tjdd��d�|tjdd��d�|tjd	d��d
�|tjdd��d�|tjd�d
�|tjd�d�|tjd�d�|tjd
�d	�|tjd�d�y)NrTrscmMzZrscz6H+rsczAdKrsczAetrs
czAetcmMzZrrrr)r%r&r
rr)s  r�test_b85_paddingzBaseXYTestCase.test_b85_padding�r rc���ttd��ttdd��ztd�z
}|D]�}|jtt	|g���5tjdt	|g�z�ddd�|jtt	|g���5tjdt	|g�zd��ddd�|jtt	|g���5tjd	t	|g�zd
zd��ddd���|jtt
jdd��|jtt
jd
d��|jtt
jd�|jtt
jdd��tjdd��|jtt
jdd��|jtt
jdd��|jtt
jddd��|jtt
jdd��|jtt
jdd��|jtt
jdd��|jtt
jdd��|jtt
jdd��|jtt
jdd��y#1swY���xYw#1swY��|xYw#1swY��&xYw)N� �v�s 	

��msgs!!!!Fr�s<~!!!!r�Ts	malformeds<~still malformeds<~~>sabcxsabcdeysa b
cr)r��ignorechars�sss8ss8Wss8W-ss8W-"saaaayr
)�setr�r
�
ValueErrorr�r&r�r�illegal�cs   r�test_a85decode_errorsz$BaseXYTestCase.test_a85decode_errors�s����u�R�y�>�C��c�3��$8�8�C��<M�M���A��"�"�:�5�!��:�"�>�� � ��5�!��:�!5�6�?��"�"�:�5�!��:�"�>�� � ��5�!��:�!5�U�C�?��"�"�:�5�!��:�"�>�� � ��U�A�3�Z�!7�%�!?�t�L�?�>��	
���*�f�&6�&6�&2�$�	�	@����*�f�&6�&6�&:�$�	�	H�	
���*�f�&6�&6�&-�	/����*�f�&6�&6�&-�U�	�	<������-����*�f�&6�&6�&-�U�	�	<����*�f�&6�&6�&/�u�	�	>����*�f�&6�&6�&/�u�#�	�	O�	
���*�f�&6�&6��E��J����*�f�&6�&6��U��K����*�f�&6�&6��e��L����*�f�&6�&6��u��M����*�f�&6�&6����N����*�f�&6�&6��%)�	�	+�??�>��>�>��>�>�s$�#L;�)%M�7(M�;M	�M	�M	c��ttd��td�zttdd��z}|D]N}|jtt	|g���5tjdt	|g�z�ddd��P|jtt
jd�|jtt
jd�|jtt
jd	�|jtt
jd
�|jtt
jd�y#1swY��xYw)N�!s	"',./:[\]�r&r's0000�|s|Ns|Nss|NsCs|NsC1)�listr�r
r,r�r&rr-s   r�test_b85decode_errorsz$BaseXYTestCase.test_b85decode_errors�s����u�R�y�/��~�&�'��u�S�#��'�(���A��"�"�:�5�!��:�"�>�� � ��5�!��:�!5�6�?�>��	
���*�f�&6�&6��=����*�f�&6�&6��>����*�f�&6�&6��?����*�f�&6�&6��@����*�f�&6�&6��A�?�>�s�#E�E	c��tjtjtjtjtj
tjtjf}|D]}|jt|d��y)Nuwith non-ascii Ë)
r&rnrorpr�r�rrr
r,)r�decode_funcsrs   r�test_decode_nonascii_strz'BaseXYTestCase.test_decode_nonascii_str�sg���(�(��1�1��0�0��(�(��(�(��(�(��(�(�
*���A����j�!�-B�C�rc�^�|jttjt��yrI)�
assertTrue�
issubclassryrzr,r{s r�test_ErrorHeritagez!BaseXYTestCase.test_ErrorHeritage�s�����
�8�>�>�:�>�?rc���tj}tj}tj}tj}|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d	�|j|d
�d�|j|d�d
�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d
�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d
�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d�d�|j|d
�d�|j|d�d�y) Nr�fsZg==sfosZm8=sfoosZm9vsfoobsZm9vYg==sfoobasZm9vYmE=sfoobarsZm9vYmFysMY======sMZXQ====sMZXW6===sMZXW6YQ=sMZXW6YTBsMZXW6YTBOI======sCO======sCPNG====sCPNMU===sCPNMUOG=sCPNMUOJ1sCPNMUOJ1E8======s66s666Fs666F6Fs666F6F62s
666F6F6261s666F6F626172)r&rMr�r�r�r%)rrMr�r�r�s     r�test_RFC4648_test_casesz&BaseXYTestCase.test_RFC4648_test_cases�sv���$�$�	��*�*���$�$�	��$�$�	�����3���-�����4��'�2�����5�)�7�3�����6�*�G�4�����7�+�[�9�����8�,�k�:�����9�-�{�;�����3���-�����4��+�6�����5�)�;�7�����6�*�K�8�����7�+�[�9�����8�,�k�:�����9�-�/B�C�����c�*�C�0�����d�+�[�9�����e�,�k�:�����f�-�{�;�����g�.��<�����h�/��=�����i�0�2E�F�����3���-�����4��%�0�����5�)�7�3�����6�*�I�6�����7�+�[�9�����8�,�m�<�����9�-��?rN)"r>r?r@rGrJrRrNrLrjrwr|r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr"r0r6r9r=r@rArrrCrC\s���,�,�
B�=�5�0@�d6@�pC�E�@8�8�"'J�R;� 
K�;�6�<;�>�"8�C�60K�d 6�D,2�\!2�F
B�
B�#+�JB�	D�@�%@rrCc�6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	y)	�TestMainc��tjjtj�r$tj
tj�yyrI)�os�path�existsr�TESTFN�unlinkr{s r�tearDownzTestMain.tearDown�s/��
�7�7�>�>�)�*�*�+��I�I�i�&�&�'�,rc�D�tjddg|���jS)N�-mr&)r�assert_python_ok�out)r�argss  r�
get_outputzTestMain.get_outputs ���-�-�d�H�D�t�D�H�H�Hrc��ttjd�5}|jd�ddd�|j	dtj�}|j|j
�d�y#1swY�JxYw)N�wb�a�b
�-e�Yf9iCg==��openrrG�writerOr%�rstrip�r�fp�outputs   r�test_encode_filezTestMain.test_encode_filesZ��
�)�"�"�D�
)�R��H�H�[�!�*�����y�'7�'7�8���������+�6�*�
)���A6�6A?c���tjddd�5}|jd�\}}ddd�|jj	�d�|j�y#1swY�;xYw)NrKr&rSrRrT)r�spawn_python�communicater%rX�assertIsNone)r�procrM�errs    r�test_encode_from_stdinzTestMain.test_encode_from_stdin
s\��
�
'�
'��h��
=���'�'��4�H�C��>��������{�3����#��>�
=�s�A'�'A0c��ttjd�5}|jd�ddd�|j	dtj�}|j|j
�d�y#1swY�JxYw)NrQrTz-dsa�brUrYs   rr=zTestMain.test_decodesZ��
�)�"�"�D�
)�R��H�H�[�!�*�����y�'7�'7�8���������)�4�*�
)�r]c�n�|jd�}|jd|�|jd|�y)Nz-h�usage: �-d, -u: decode)rO�assertIn�rr[s  r� test_prints_usage_with_help_flagz)TestMain.test_prints_usage_with_help_flags-������&���
�
�j�&�)��
�
�'��0rc��tjddd�j}|jd|�|jd|�y)NrKr&z-xrgrh)r�assert_python_failurercrirjs  r�#test_prints_usage_with_invalid_flagz,TestMain.test_prints_usage_with_invalid_flags9���4�4�T�8�T�J�N�N���
�
�j�&�)��
�
�'��0rN)
r>r?r@rIrOr\rdr=rkrnrArrrBrB�s&��(�I�7��5�1�
1rrB�__main__)�unittestr&ryrDr�test.supportrr�TestCaserrCrBr>�mainrArr�<module>rtsu���
��	��"�&�OT�8�,�,�OT�d]
@�X�&�&�]
@�@"1�x� � �"1�H�z���H�M�M�O�r

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