Sindbad~EG File Manager
�
&ΜgaP��$�dZddlZddlZddlZddlZddlmZmZmZgd�Z gd�Z
e
e zddgzZGd�d ej�Z
Gd
�de
�ZGd�d
e
�ZGd�de
�ZGd�dej�Zedk(rej&�yy)zTest the binascii C module.�N)�
bigmemtest�_1G�_4G)�
b2a_base64�b2a_hex�b2a_qp�b2a_uu�hexlify)�
a2b_base64�a2b_hex�a2b_qp�a2b_uu� unhexlify�crc32�crc_hqxc��eZdZeZdZeeed��z
Zedz
Zd�Zd�Zd�Z d�Z
d�Zd �Zd
�Z
d�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�BinASCIITests.The quick brown fox jumps over the lazy dog.
�s
Hello world.
c�D�|j|j�|_y�N)� type2test�rawdata�data��selfs �//usr/local/lib/python3.12/test/test_binascii.py�setUpzBinASCIITest.setUps���N�N�4�<�<�0�� �c��|jttjt��|jttj
t��yr)�
assertTrue�
issubclass�binascii�Error� Exception�
Incompleters r�test_exceptionszBinASCIITest.test_exceptionss2�����
�8�>�>�9�=�>����
�8�#6�#6� �B�Crc ��tD]O}|jttt|�d��|jttt|���Qy)N�__call__)�
all_functionsr �hasattr�getattrr"�assertRaises� TypeError)r�names r�test_functionszBinASCIITest.test_functions#s=��!�D��O�O�G�G�H�d�$;�Z�H�I����i���4�)@�A�"rc���d}|jd|}ttt�D]�\}}t t
|�}t t
|�} ||j
|��}||j
|��}|j|dj||||��|j|t�|jt�|jt|�d���|jtj|d�t �|jtj"|�t �y#t$r,} |jdj||| ��Yd} ~ ��d} ~ wwxYw)N�-�{}/{} conversion raises {!r}�{}/{} conversion: {!r} != {!r}�r)r�zip�
a2b_functions�
b2a_functionsr+r"rr$�fail�format�assertEqual�assertIsInstance�bytes�
assertLess�maxr�intr)
r�MAX_ALL�raw�fa�fb�a2b�b2a�a�res�errs
r�test_returned_valuez BinASCIITest.test_returned_value)s7�����l�l�8�G�$���-��7�F�B���(�B�'�C��(�B�'�C�
N�����s�+�,���$�.�.��+�,��
���S�#�(,�,2�F�2�r�3��,D�
F��!�!�#�u�-��!�!�!�U�+��O�O�C��F�C�(�8�
���h�.�.�s�A�6��<����h�n�n�S�1�3�7���
N�� � �8�?�?��B��L�M�M��
N�s�
.D=�= E2�"E-�-E2c��d}g}tdt|j�|�D]I}|j|j|||z�}t j
|�}|j
|��Kt�}|D]-}|j|�}t j|�}||z
}�/|j||j�y)N�9r)
�range�lenrrr"r�appendr<rr:)r�
MAX_BASE64�lines�i�brFrG�lines r�test_base64validzBinASCIITest.test_base64valid=s����
����q�#�d�l�l�+�Z�8�A����t�|�|�A�a�
�l�;�<�A��#�#�A�&�A��L�L��O�9��g���D����t�$�A��#�#�A�&�A��1�H�C��
����d�l�l�+rc��
�d}g}tdt|j�|�D]I}|j|j|||z�}tj|�}|j|��Kt��
d}td�D]}||vs��
j|���
fd�}t�}t||�D]-} |j| �}tj|�}||z
}�/|j||j�|jtj|j�
��d�y)NrKrs@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/rc�����}t|�t|�z}t�}|rG|rEt|�t|�z|kDr|d|dd}}n
|d|dd}}|j|�|r|r�E||z|zS)Nr�)rM� bytearrayrN)rS�noise�ratiorG�c�fillerss �r�addnoisez1BinASCIITest.test_base64invalid.<locals>.addnoise[s�����E���I��U��+�E��+�C��5��t�9��E�
�*�U�2�"�1�g�t�A�B�x�t�A�$�Q�x��q�r��u�A��
�
�1�
��5���;��%�%rr)rLrMrrrr"rrNrX�maprr:)rrOrPrQrRrF�validr]rGrSr\s @r�test_base64invalidzBinASCIITest.test_base64invalidLs����
����q�#�d�i�i�.�*�5�A����t�|�|�A�a�
�l�;�<�A��#�#�A�&�A��L�L��O�6�
�+��S���s��A���~����q�!��
&��k����%�(�D����t�$�A��#�#�A�&�A��1�H�C�)�
����d�l�l�+�
����,�,�T�^�^�G�-D�E�s�Krc����dtdtdtf�fd��dtf�fd�}dtf�fd�}dtf�fd�}dtf�fd�}dtf�fd �}|d
d�|dd�|d
d�|dd�|dd�|dd�|dd�|dd�|dd�|dd�|dd�|dd�|dd�|dd�|dd�|dd�|dd�|dd�|dd�|d d�|d!d�|d"d#�|d$d%�|d&d%�|d'd%�|d(d%�|d)d%�y)*N�assert_regexr�non_strict_mode_expected_resultc����jtj|�5tj�j |�d��ddd��jtj�j |�d��|��jtj�j |��|�y#1swY�txYw)NT)�strict_modeF)�assertRaisesRegexr"r#rrr:)rbrrcrs �r�_assertRegexTemplatezBBinASCIITest.test_base64_strict_mode.<locals>._assertRegexTemplatess�����'�'�����E��#�#�D�N�N�4�$8�d�K�F����X�0�0�����1E�SX�Y�<�
>����X�0�0�����1E�F�<�
>� F�E�s�'B<�<Cc����d||�y)Nz(?i)Excess data��rrcrgs �r�assertExcessDataz>BinASCIITest.test_base64_strict_mode.<locals>.assertExcessData{s��� �!3�T�;Z�[rc����d||�y)Nz(?i)Only base64 datarirjs �r�assertNonBase64DatazABinASCIITest.test_base64_strict_mode.<locals>.assertNonBase64Data~s��� �!8�$�@_�`rc����d||�y)Nz(?i)Leading paddingrirjs �r�assertLeadingPaddingzBBinASCIITest.test_base64_strict_mode.<locals>.assertLeadingPadding�s��� �!7��?^�_rc����d||�y)Nz(?i)Discontinuous paddingrirjs �r�assertDiscontinuousPaddingzHBinASCIITest.test_base64_strict_mode.<locals>.assertDiscontinuousPadding�s��� �!=�t�Ed�erc����d||�y)Nz(?i)Excess paddingrirjs �r�assertExcessPaddingzABinASCIITest.test_base64_strict_mode.<locals>.assertExcessPadding�s��� �!6��>]�^rsab==a�isab===sab====sab==:sabc=asi�sabc=:sab==
sabc==sabc===sabc====sabc=====s
ab==sab:(){:|:&};:==sa
b==sab==�=r�==s===s====s=====sab=c=sab=ab==si��sabcd=si�sabcd==sabcd===sabcd====s abcd=====)�strr<)rrkrmrorqrsrgs` @r�test_base64_strict_modez$BinASCIITest.test_base64_strict_modeqsy��� >�s� >�%� >�bg� >� \�E� \� a�u� a� `�� `� f�e� f� _�u� _� ��4�(���4�(���D�)���4�(���8�,���8�,���D�)���8�,���H�-���X�.���h�/� �I�t�,��.��5��I�t�,��K��.� �T�3�'��U�C�(��V�S�)��W�c�*��X�s�+�"�8�X�6�"�:�|�<��H�l�3��I�|�4��J��5��K��6��L�,�7rc�
���fd�}|d�|d�|d�|d�|d�|d�|d�|d ��fd
�}|d�|d�|d
�|d�|d�|d�|d�y)Nc����jtjd�5tj�j |��ddd�y#1swYyxYw)Nz(?i)Incorrect padding)rfr"r#rr)rrs �r�assertIncorrectPaddingz>BinASCIITest.test_base64errors.<locals>.assertIncorrectPadding�s<����'�'����8P�Q��#�#�D�N�N�4�$8�9�R�Q�Q�s�%A�Asabsab=sabcsabcdefsabcdef=sabcdefgsa=b=sa
b=c���ttjdd|��}dt|�z}�j t
j|�5tj�j|��ddd�y#1swYyxYw)Ns[^A-Za-z0-9/+]rz((?i)Invalid.+number of data characters.+) rM�re�subrwrfr"r#rr)r�n_data_chars�expected_errmsg_rers �r�assertInvalidLengthz;BinASCIITest.test_base64errors.<locals>.assertInvalidLength�sf����r�v�v�&8�$��E�F�L�;�c�,�>O�O�
��'�'����8J�K��#�#�D�N�N�4�$8�9�L�K�K�s�%A>�>B�asa=sa==sa===saaaaas]aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas
A B
C ??DEri)rr{r�s` r�test_base64errorszBinASCIITest.test_base64errors�s���� :� �u�%��v�&��v�&��y�)��z�*��z�*��w�'��x�(� :� �D�!��E�"��F�#��G�$��H�%��/�0��O�,rc��d}dD]�}g}tdt|j�|�D]K}|j|j|||z�}tj||��}|j|��Mt�}|D]-}|j|�}tj|�}||z
}�/|j||j���|jtjd�d�|jtjd�d�|jtjd �d�|jt
jt
jd
�|jt
jt
jd�|jt
jt
jd�|jtjd
�d�|jtjd�d�|jtjdd��d�|jtjd�d�|jtjd�d�|jtjd�d�|jtjdd��d�|jtjd�tjd��|jt�5tjdd�ddd�y#1swYyxYw)Nr1)TFr)�backtick�s��s ��s�s!!!!s.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!�xs!>
rs
Ts`
sCats
$ $-A=
s
$`$-A=```
)rLrMrrrr"r rNr<rr:r,r#r-) r�MAX_UUr�rPrQrRrFrGrSs r�test_uuzBinASCIITest.test_uu�sW����%�H��E��1�c�$�)�)�n�f�5���N�N�4�<�<��!�F�(�#;�<���O�O�A��9�����Q��6��'�C����N�N�4�(���O�O�A�&���q����
���S�$�,�,�/�&�
�������1�:�>��������1�:�>��������1�:�>����(�.�.�(�/�/�;�G����(�.�.�(�/�/�7�C����(�.�.�(�/�/�7�C�
�������.�
�;��������-�v�6��������t�<�f�E��������0�#�6��������0�#�6��������4�n�E��������d�C�'� )��������8�!����8� :�
�
�
�y�
)��O�O�C��&�*�
)�
)�s�"M�Mc���tj|jd�d�}tj|jd�|�}|j|d�|j t
tj�|j t
tj|jd��dD]:}|jtj|jd�|�|dz��<y)N�Test the CRC-32 ofr�
this string.i�7r)rrWi4iE#ixV4���i��)r"rrr:r,r-�r�crcs r�test_crc_hqxzBinASCIITest.test_crc_hqx�s������t�~�~�.C�D�a�H�����t�~�~�.>�?��E������e�$����)�X�%5�%5�6����)�X�%5�%5�t�~�~�c�7J�K�8�C����X�-�-�d�n�n�S�.A�3�G� �6�\�
+�9rc��tj|jd��}tj|jd�|�}|j|d�|j t
tj�y)Nr�r�ij�])r"rrr:r,r-r�s r�
test_crc32zBinASCIITest.test_crc32�sX���n�n�T�^�^�,A�B�C���n�n�T�^�^�,<�=�s�C������j�)����)�X�^�^�4rc�F�d}tj|j|��}tj|j|��}|j ||�|jtjtj|dd�|jtjtj|dddz�|jtjtjtddg��|jtjtjd�|jtjtjd�|jtjtjd�|jtjtjd�|j tj|j|��|�|j tj|j|��|�y) N� {sworldishelloi0r��q�s0Gs0gsG0sg0)
r"rrrr:r,r#r<r
r)r�s�t�us r�test_hexzBinASCIITest.test_hexsp��_�����T�^�^�A�.�/�����T�^�^�A�.�/������A�����(�.�.�(�*:�*:�A�c�r�F�C����(�.�.�(�*:�*:�A�c�r�F�T�M�J����(�.�.�(�*:�*:�E�3��*�<M�N����(�.�.�(�*:�*:�E�B����(�.�.�(�*:�*:�E�B����(�.�.�(�*:�*:�E�B����(�.�.�(�*:�*:�E�B�
����)�)�$�.�.��*;�<�a�@�����+�+�D�N�N�1�,=�>��Brc��d}|jtj|j|��|j �jd��|j dd�jd�}|jtj|j|�dd�|�|j d�jd�}|jtj|j|�d�|�y)z?Test that hexlify and b2a_hex are binary versions of bytes.hex.r��ascii�.��:N)r:r"r
r�hex�encoder)rr�� expected8� expected1s r�test_hex_separatorzBinASCIITest.test_hex_separators���
`������)�)�$�.�.��*;�<�a�e�e�g�n�n�W�>U�V��E�E�#�q�M�(�(��1� �����)�)�$�.�.��*;�S�!�D�i�P��E�E�#�J�%�%�g�.� �����)�)�$�.�.��*;�S�A�9�Mrc��|j}tj}tj}|dd�� |dUiddi��|j 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�dd�d�|j
||d��d�|j
||d�d��d�|jt
|d��|j
||d��d�|j
||d��d�|j
||d ��d!�|j
||d"��d#�|j
||d��d$�|j
||d��d�|j
||d�d��d%�|j
||d&�d��d'�|j
||d(�d��d)�|j
||d&�dd�*�d+�|j
||d,�d��d,�|j
||d��d-�|j
||d.��d/�|j
||d0��d0�|j
||d1��d1�|j
||d0�dd�d-�|j
||d1�dd�d/�|j
||d2��d3�|j
||d4��d5�|j
||d4�d�6�d5�|j
||d7��d7�|j
||d7�d�6�d8�|j
||d7�d�9�d7�|j
||d:��d;�|j
||d:�d�6�d;�|j
||d:�d�9�d<�|j
||d=��d=�|j
||d=�d�6�d>�|j
||d=�d�9�d?�|j
||d@��dA�|j
||d@�d�6�dA�|j
||d@�d�9�dB�|j
||dC�dd�dD�|j
||dE�dd�dF�|j
||dC�ddd�6�dG�|j
||dE�ddd�6�dH�|j
||dC�ddd�9�dI�|j
||dE�ddd�9�dJ�|j
||dK��dL�|j
||dM��dN�|j
||dO��dP�|j
||dQ��dR�|j
||dS��dS�|j
||dT�dd�dL�y#t
$rY��6wxYw)VNrF)r�headerrWz/binascii.a2b_qp(**{1:1}) didn't raise TypeErrorrus= rvs=
ABsABs=
ABs=
ABs=
AB
CDsCDs=AB��s=abs=AXs=XAr�s=A�_T)r�� �bar)�foos=00
=00s
s�
�
�s
=FF
=FF
=FFsR000000000000000000000000000000000000000000000000000000000000000000000000000�
�
�s[000000000000000000000000000000000000000000000000000000000000000000000000000=
=FF
=FF
=FFr�s=7Fs=3Ds=5Fsx ysx_ysx sx=20)r�� quotetabssx=20ysx ys=20� s=09s xs x�s=00s
s=00
)r�sx y zs x=20y=09z)�istextsx
y
s
x=20
y=09
s
x =0Ay =0Asx
y
s
x=20
y=09
s
x =0Dy =0Dsx
y
sx=20
y=09
sx =0D=0Ay =0D=0Asx
sx
sx
sx
sx=20
sx=09
sx =0Dsx =0D�.s=2Es.
s=2E
s.
s=2E
s.s=2E=00sa.
s.a)r)rr"r
rr8r-r:r,)rrr
rs r�test_qpzBinASCIITest.test_qp!s���N�N� ����������C��&� I�� �1�Q�%� �
�I�I�G�H����� �$��0�#�6����� �%� 0�1�5�9����� �%� 0�1�4�8����� �(� 3�4�e�<����� �*� 5�6��>����� �(� 3�4�c�:����� �,� 7�8�%�@����� �&� 1�2�G�<����� �&� 1�2�G�<����� �&� 1�2�F�;����� �&� 1�2�F�;����� �&� 1�#�2� 6�7��?����� �$��0�$�7����� �$���=�t�D����)�V���7����� �-� 8�9�?�K����� �*?� @�A�-� /����� �*I� J�K�:� <�
���� �'� 2�3�V�<����� �$��0�&�9����� �$��0�$�7����� �$���=�v�F����� �&� 1�$�?��H����� �%� 0��>��H����� �&� 1�$�$�O�!� #����� �'� 2�4�@�'�J����� �$��0�&�9����� �%� 0�1�6�:����� �%� 0�1�5�9����� �&� 1�2�F�;����� �%� 0��"� 5�6��?����� �&� 1�#�2� 6�7��@����� �%� 0�1�6�:����� �'� 2�3�X�>����� �'� 2�d�C�X�N����� �)� 4�5�y�A����� �)� 4��E�%� '����� �)� 4�U�C�"� $����� �,� 7�8�(� *����� �,� 7�4�H�(� *����� �,� 7��F�'� )����� �,� 7�8�%� '����� �,� 7�4�H�(� *����� �,� 7��F�'� )����� �*:� ;�<�,� .����� �*:� ;�t�L�,� .����� �*:� ;�E�J�-� /�
���� �)� 4�S�b� 9�:�G�D����� �*� 5�c�r� :�;�X�F����� �)� 4�S�b� 9�T�J�"� $����� �*� 5�c�r� :�d�K�"� $����� �)� 4�S�b� 9�%�H�!� #����� �*� 5�c�r� :�5�I�"� $�
���� �$��0�&�9����� �&� 1�2�H�=����� �&� 1�2�H�=����� �&� 1�2�I�>����� �'� 2�3�W�=����� �%� 0��"� 5�6��?��u� �� �s�
]=�= ^
� ^
c ��|jd�}tD]7}|dk(rtj|d��t t|�} ||��9y#t
$r,}|j
dj|||��Yd}~�kd}~wwxYw)Nrrrz{}({!r}) raises {!r})rr)r"rr+r$r8r9)r�empty�func�frHs r�test_empty_stringzBinASCIITest.test_empty_string�s������s�#��!�D��y� �� � ���*����$�'�A�
K��%��"���
K�� � �0�7�7��e�S�I�J�J��
K�s�A� B�"B�Bc�R�tt�tt�z
D](} |jttt|�d��*|jttjdd�y#t$r+}|jdj||��Yd}~��d}~wwxYw)N�testz{}("test") raises {!r}r)�setr)r6r,r-r+r"r$r8r9r)rr�rHs r�test_unicode_b2azBinASCIITest.test_unicode_b2a�s����
�&��]�);�;�D�
F��!�!�)�W�X�t�-D�f�M�<�
���)�X�%5�%5�v�q�A���
F�� � �2�9�9�$��D�E�E��
F�s�%A2�2 B&�;!B!�!B&c�H�d}|jd|}ttt�D]�\}}t t
|�}t t
|�} ||j
|��}||�}|jd�}||�} |j |dj||| |��|j| �|j| t�|jt|d���y#t$r,}
|jdj|||
��Yd}
~
��d}
~
wwxYw)Nr1r�r2r3�)rr5r6r7r+r"r�decoder$r8r9r:r;r<r,�
ValueError)rr@rArBrCrDrErF�
binary_resrGrHs r�test_unicode_a2bzBinASCIITest.test_unicode_a2b�s�����l�l�8�G�$���-��7�F�B���(�B�'�C��(�B�'�C�
N�����s�+�,�� ��V�
��H�H�W�%���!�f��
���S�#�(,�,2�F�2�r�3��,D�
F����S�*�-��!�!�#�u�-����j�#�v�6�8���
N�� � �8�?�?��B��L�M�M��
N�s�
8C,�, D!�5"D�D!c��|jd�}|jtj|�d�|jtj|d��d�|jtj|d��d�y)Nshellos aGVsbG8=
T)�newlineFsaGVsbG8=)rr:r"r)rrRs r�test_b2a_base64_newlinez$BinASCIITest.test_b2a_base64_newline�sn���N�N�8�$������,�,�Q�/�&� (�����,�,�Q��=�&� (�����,�,�Q��>�$� &rc��ttd��}|ddd�}|jt�5t j
|�ddd�y#1swYyxYw)Ns noncontig���)�
memoryviewrXr,�BufferErrorr"r)r�m�noncontig_writables r�test_c_contiguityzBinASCIITest.test_c_contiguity�sH���y��.�/���t��t�W��
�
�
�{�
+����/�0�,�
+�
+�s�A�AN)�__name__�
__module__�__qualname__r<rrrLrr&r/rIrTr`rxr�r�r�r�r�r�r�r�r�r�r�r�rirrrrs����I�A�G��u�U�3�Z� � �G��$�$�G�1�D�
B�8�(
,�#L�J88�v-�>#'�J
+�5�C�$
N�d@�LK�B�7�*&�1rrc��eZdZd�Zy)�ArrayBinASCIITestc�@�tjdt|��S)N�B)�array�list)rr�s rrzArrayBinASCIITest.type2test�s���{�{�3��Q��(�(rN)r�r�r�rrirrr�r��s��)rr�c��eZdZeZy)�BytearrayBinASCIITestN)r�r�r�rXrrirrr�r��s���Irr�c��eZdZeZy)�MemoryviewBinASCIITestN)r�r�r�r�rrirrr�r��s���Irr�c�8�eZdZdZeedzdd��d��Zy)�ChecksumBigBufferTestCasez<bpo-38256 - check that inputs >=4 GiB are handled correctly.�rWF)�size�memuse�dry_runc�f�dtdzz}|jtj|�d�y)NsnyanrWiM"B>)rr:r"r)rr�rs r�test_big_bufferz)ChecksumBigBufferTestCase.test_big_buffer�s)���#��'�"���������-�z�:rN)r�r�r��__doc__rrr�rirrr�r��s$��F��S�1�W�Q��6�;�7�;rr��__main__)r��unittestr"r�r}�test.supportrrrr7r6r)�TestCaserr�r�r�r�r��mainrirr�<module>r�s���!���� �-�-��
��
��
�-��)�0D�D�
�p1�8�$�$�p1�f
)��)�
�L���\��;�� 1� 1�;��z���H�M�M�O�r
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists