Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_bytes.cpython-311.opt-1.pyc
�

�Ke76��L�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
ddlmZddlZddlZddlmZmZddlmZejjrd�Znd�ZGd	�d
��ZGd�d��ZGd
�dee
j��ZGd�dee
j��ZGd�de
j��ZGd�de
j��ZGd�dejj ��Z!Gd�de!e
j��Z"Gd�de!e
j��Z#Gd�d��Z$Gd�de%��Z&Gd�d e%��Z'Gd!�d"e(��Z)Gd#�d$e(��Z*Gd%�d&e$e
j��Z+Gd'�d(e$e
j��Z,Gd)�d*e$e
j��Z-e.d+kre
j/��dSdS),z�Unit tests for the bytes and bytearray types.

XXX This is a mess.  Common tests should be unified with string_tests.py (and
the latter should be modernized).
�N)�
import_helper)�warnings_helper)�bigaddrspacetest�MAX_Py_ssize_t)�assert_python_failurec�F��tj����fd���}|S)Nc�~��tjdtf��5�|i|��cddd��S#1swxYwYdS�N��r�check_warnings�BytesWarning)�args�kw�funcs  ��9/usr/local/apps/python3/lib/python3.11/test/test_bytes.py�wrapperz%check_bytes_warnings.<locals>.wrappers���� �/��\�0B�C�C�
)�
)��t�T�(�R�(�(�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)����
)�
)�
)�
)�
)�
)s�2�6�6)�	functools�wraps)rrs` r�check_bytes_warningsrs8���	���	�	�	)�	)�	)�	)�
�	�	)���c��|S�N�)rs rrr$s���rc��eZdZdd�Zd�ZdS)�	Indexablerc��||_dSr��value)�selfrs  r�__init__zIndexable.__init__)s
����
�
�
rc��|jSrr�r s r�	__index__zIndexable.__index__+s
���z�rN)r)�__name__�
__module__�__qualname__r!r$rrrrr(s7��������������rrc���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zed
���Zd�Zd�Zed���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*d'�Z+d(�Z,d)�Z-d*�Z.d+�Z/d,�Z0d-�Z1d.�Z2d/�Z3d0�Z4d1�Z5d2�Z6d3�Z7d4�Z8d5�Z9d6�Z:d7�Z;d8�Z<d9�Z=d:�Z>d;�Z?d<�Z@d=�ZAd>�ZBd?�ZCd@�ZDdA�ZEdB�ZFdC�ZGdD�ZHdE�ZIdF�ZJdGS)H�
BaseBytesTestc��|���}|�t|��|j��|�|j|j��dSr)�	type2test�assertEqual�type�	__class__�r �bs  r�test_basicszBaseBytesTest.test_basics1sO���N�N��������a���$�.�1�1�1������d�n�5�5�5�5�5rc��|�d��}tjtjfD]S}||��}|�||��|�t	|��t	|�����TdS�N�abcd)r+�copy�deepcopyr,r-�r �a�copy_methodr0s    r�	test_copyzBaseBytesTest.test_copy6s}���N�N�7�#�#�� �I�t�}�5�	/�	/�K���A���A����Q��"�"�"����T�!�W�W�d�1�g�g�.�.�.�.�	/�	/rc�
��|����|�t���d��|�t�fd���|�t�fd���|�t�fd���|�t�fd���|�t�fd���|�t�fd���|�t�fd���|�t�fd	���|�t�fd
���|�t�fd���|�t�fd���dS)
Nrc����dS�Nrr�r0s�r�<lambda>z3BaseBytesTest.test_empty_sequence.<locals>.<lambda>@����a��d�rc����dS�N�rr>s�rr?z3BaseBytesTest.test_empty_sequence.<locals>.<lambda>Ar@rc�(���tjSr��sys�maxsizer>s�rr?z3BaseBytesTest.test_empty_sequence.<locals>.<lambda>Bs
���a���n�rc�.���tjdzSrBrEr>s�rr?z3BaseBytesTest.test_empty_sequence.<locals>.<lambda>Cs���a���A�
�.>�rc����ddzS�N�
�drr>s�rr?z3BaseBytesTest.test_empty_sequence.<locals>.<lambda>Ds���a��C��j�rc����dS�N���rr>s�rr?z3BaseBytesTest.test_empty_sequence.<locals>.<lambda>E����a��e�rc����dS)N���rr>s�rr?z3BaseBytesTest.test_empty_sequence.<locals>.<lambda>FrPrc�*���tjSrrEr>s�rr?z3BaseBytesTest.test_empty_sequence.<locals>.<lambda>Gs���a����o�rc�0���tjdz
SrBrEr>s�rr?z3BaseBytesTest.test_empty_sequence.<locals>.<lambda>H����a����Q��.?�rc�0���tjdz
S)N�rEr>s�rr?z3BaseBytesTest.test_empty_sequence.<locals>.<lambda>IrUrc����ddzSrJrr>s�rr?z3BaseBytesTest.test_empty_sequence.<locals>.<lambda>Js���a��S���k�r)r+r,�len�assertRaises�
IndexErrorr/s @r�test_empty_sequencez!BaseBytesTest.test_empty_sequence=s�����N�N��������Q����#�#�#����*�l�l�l�l�3�3�3����*�l�l�l�l�3�3�3����*�&<�&<�&<�&<�=�=�=����*�&>�&>�&>�&>�?�?�?����*�&8�&8�&8�&8�9�9�9����*�m�m�m�m�4�4�4����*�m�m�m�m�4�4�4����*�&=�&=�&=�&=�>�>�>����*�&?�&?�&?�&?�@�@�@����*�&?�&?�&?�&?�@�@�@����*�&9�&9�&9�&9�:�:�:�:�:rc��|�td����}|�t|��d��|�t	|��t	td������|�dh��}|�|d��|�ddh��}|�t
|��ddh��|�ttd������}|�t|��d��|�t	|��t	td������|�d�td��D����}|�t|��d	��|�t	|��t	td����d
dd���Gd�d
��}|�|����}|�|d��dS)N��*�*�+�-)rarb)rbrac3�$K�|]}|dz�|V��dS)rWNr��.0�is  r�	<genexpr>z3BaseBytesTest.test_from_iterable.<locals>.<genexpr>]s+����:�:��A��E�:�1�:�:�:�:�:�:r�rCrWc��eZdZd�ZdS)�+BaseBytesTest.test_from_iterable.<locals>.Sc��d|S)N�rCrW�r)r rfs  r�__getitem__z7BaseBytesTest.test_from_iterable.<locals>.S.__getitem__cs�� ��|�#rN)r%r&r'rnrrr�Srjbs#������
$�
$�
$�
$�
$rro�)r+�ranger,rY�list�assertIn�tuple�iter)r r0ros   r�test_from_iterablez BaseBytesTest.test_from_iterableLs����N�N�5��:�:�&�&������Q����%�%�%�����a���$�u�S�z�z�"2�"2�3�3�3�
�N�N�B�4� � ������D�!�!�!��N�N�B��8�$�$���
�
�e�A�h�h��8� 4�5�5�5�
�N�N�4��c�
�
�+�+�,�,������Q����%�%�%�����a���$�u�S�z�z�"2�"2�3�3�3�
�N�N�:�:�e�C�j�j�:�:�:�:�:������Q����%�%�%�����a���$�u�S�z�z�"2�"2�1�4�a�4�"8�9�9�9�	$�	$�	$�	$�	$�	$�	$�	$�
�N�N�1�1�3�3��������O�,�,�,�,�,rc�z�|�ttd������}|�t	|��d��|�t|��ttd������|�d��}|�|d��dS�Nr^rlrp)r+rtrqr,rYrrr/s  r�test_from_tuplezBaseBytesTest.test_from_tuplehs����N�N�5��s���,�,�-�-������Q����%�%�%�����a���$�u�S�z�z�"2�"2�3�3�3��N�N�9�%�%������O�,�,�,�,�,rc�~�|�ttd������}|�t	|��d��|�t|��ttd������|�gd���}|�|d��dSrx)r+rrrqr,rYr/s  r�test_from_listzBaseBytesTest.test_from_listps����N�N�4��c�
�
�+�+�,�,������Q����%�%�%�����a���$�u�S�z�z�"2�"2�3�3�3��N�N�9�9�9�%�%������O�,�,�,�,�,rc���G�fd�d��}|��|��g�|�t���d��G�fd�d��}|��g�|�t���d��dS)Nc���eZdZ�fd�ZdS)�0BaseBytesTest.test_from_mutating_list.<locals>.Xc�0������dS�Nr_��clear�r r8s �rr$z:BaseBytesTest.test_from_mutating_list.<locals>.X.__index__{s������	�	�	��rrN�r%r&r'r$�r8s�r�Xr~zs.�������
�
�
�
�
�
�
rr�r`c���eZdZ�fd�ZdS)�0BaseBytesTest.test_from_mutating_list.<locals>.Yc�X��t���dkr��|��dS)N��r_)rY�appendr�s �rr$z:BaseBytesTest.test_from_mutating_list.<locals>.Y.__index__�s&����q�6�6�D�=�=��H�H�T�N�N�N��rrNr�r�s�r�Yr���.�������
�
�
�
�
�
�
rr�s�****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************�r,�bytes)r r�r�r8s   @r�test_from_mutating_listz%BaseBytesTest.test_from_mutating_listxs����	�	�	�	�	�	�	�	�	�	��Q�S�S�!�!�#�#�J������q���4�(�(�(�	�	�	�	�	�	�	�	�	�	�
�Q�S�S�E������q���;�/�/�/�/�/rc��|�t��td��td��td��g��}|�t|��gd���|�t
|jtd��g��|�t
|jtd��g��dS)NrC���rrCr�r�rOr^)r+rr,rrrZ�
ValueErrorr/s  r�test_from_indexzBaseBytesTest.test_from_index�s����N�N�I�K�K��1���y��~�~�%�c�N�N�,�
-�
-������a���"2�"2�"2�3�3�3����*�d�n�y��}�}�o�F�F�F����*�d�n�y��~�~�6F�G�G�G�G�Grc�f�|�tjdgd�����}|�|d��|�d��}|�|d��Gd�dt��}|�|�|d����d��dS)N�Brlrpc��eZdZd�ZdS)�)BaseBytesTest.test_from_buffer.<locals>.Bc��t�r)�	TypeErrorr#s rr$z3BaseBytesTest.test_from_buffer.<locals>.B.__index__�s���rNr�rrrr�r��s#������
 �
 �
 �
 �
 rsfoobar)r+�arrayr,r�)r r8r�s   r�test_from_bufferzBaseBytesTest.test_from_buffer�s����N�N�5�;�s�I�I�I�6�6�7�7������O�,�,�,��N�N�?�+�+������O�,�,�,�	 �	 �	 �	 �	 ��	 �	 �	 �	
��������)���5�5�y�A�A�A�A�Arc�@�|�|�d��d��|�|�d��d��|�|�d��d��|�t|jd��|�|�dd	��d
��|�|�d
��d
��|�t|jt
jdz��dS)NrrrC��srO�0�ascii�0)r,r+rZr��
OverflowErrorrFrGr#s r�test_from_ssizezBaseBytesTest.test_from_ssize�s����������*�*�C�0�0�0��������*�*�G�4�4�4��������*�*�,C�D�D�D����*�d�n�b�9�9�9��������W�5�5�t�<�<�<��������-�-�t�4�4�4����-�����q��I�I�I�I�Irc�0�|�t|jd��Gd�d��}|�t|jdg��|�t|jdg��|�t|jdg��|�t|j|��g��|�t|jd���|�t|jd���|�t|jd	d��|�t|jd
d��|�t|jd	d���|�t|jd
d���|�t|jd��|�t|jdd���|�t|jdd��|�t|jddd
��dS)Ngc��eZdZdS)�5BaseBytesTest.test_constructor_type_errors.<locals>.CN�r%r&r'rrr�Cr����������Drr�r�r�)�encoding�ignore)�errorsrrrsasciisignore)rZr�r+)r r�s  r�test_constructor_type_errorsz*BaseBytesTest.test_constructor_type_errors�s������)�T�^�S�9�9�9�	�	�	�	�	�	�	�	����)�T�^�c�U�;�;�;����)�T�^�c�U�;�;�;����)�T�^�d�V�<�<�<����)�T�^�a�a�c�c�U�;�;�;����)�T�^�g��F�F�F����)�T�^�H��E�E�E����)�T�^�Q��@�@�@����)�T�^�S�'�B�B�B����)�T�^�Q�x��H�H�H����)�T�^�S���J�J�J����)�T�^�R�8�8�8����)�T�^�R���I�I�I����)�T�^�R��B�B�B����)�T�^�R��)�L�L�L�L�Lrc�8�|�t|jdg��|�t|jtjg��|�t|jtjdz
g��|�t|jtjdz
g��|�t|jddzg��|�t|jdg��|�t|jdg��|�t|jtjg��|�t|jtjdzg��|�t|jddzg��dS)NrOrCrWrKrLr^i)rZr�r+rFrGr#s r�test_constructor_value_errorsz+BaseBytesTest.test_constructor_value_errors�sH�����*�d�n�r�d�;�;�;����*�d�n���|�n�E�E�E����*�d�n���|�A�~�6F�G�G�G����*�d�n���|�A�~�6F�G�G�G����*�d�n��C��x�j�A�A�A����*�d�n�s�e�<�<�<����*�d�n�s�e�<�<�<����*�d�n�s�{�m�D�D�D����*�d�n�s�{�1�}�o�F�F�F����*�d�n�r�3�w�i�@�@�@�@�@rc��t}|�ttf|j|��	t|dz
��dS#ttf$rYdSwxYw)N�)rrZr��MemoryErrorr+�	bytearray)r �sizes  r�test_constructor_overflowz'BaseBytesTest.test_constructor_overflow�sl�������=�+�6����M�M�M�	�
�d�Q�h��������{�+�	�	�	��D�D�	���s�A�A�Ac�2�Gd�d��}|�t|j|����|�t|j|��g��Gd�d��}|�t|j|����dS)Nc��eZdZd�ZdS)�9BaseBytesTest.test_constructor_exceptions.<locals>.BadIntc��ddzdS�NrCrrr#s rr$zCBaseBytesTest.test_constructor_exceptions.<locals>.BadInt.__index__�����!����rNr�rrr�BadIntr���#������
�
�
�
�
rr�c��eZdZd�ZdS)�>BaseBytesTest.test_constructor_exceptions.<locals>.BadIterablec��ddzdSr�rr#s r�__iter__zGBaseBytesTest.test_constructor_exceptions.<locals>.BadIterable.__iter__�r�rN)r%r&r'r�rrr�BadIterabler��r�rr�)rZ�ZeroDivisionErrorr+)r r�r�s   r�test_constructor_exceptionsz)BaseBytesTest.test_constructor_exceptions�s���	�	�	�	�	�	�	�	�	
���+�T�^�V�V�X�X�F�F�F����+�T�^�f�f�h�h�Z�H�H�H�	�	�	�	�	�	�	�	�	
���+�T�^�[�[�]�]�K�K�K�K�Krc��|�gd���}|�gd���}|�ddg��}|�||��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��dS)NrlrCrm)r+r,�
assertTrue�assertFalse)r �b1�b2�b3s    r�test_comparezBaseBytesTest.test_compare�s���
�^�^�I�I�I�
&�
&��
�^�^�I�I�I�
&�
&��
�^�^�Q��F�
#�
#������R� � � �����b��!�!�!�����b��!�!�!�����b��!�!�!�����b��!�!�!�����b��!�!�!�����b��!�!�!�����b��!�!�!�����r��"�"�"�����r��"�"�"�����r��"�"�"�����r��"�"�"�����r��"�"�"�����r��"�"�"�����r��"�"�"�����r��"�"�"�"�"rc�N�|�|�d��dkd��|�|�d��dkd��|�|�d��dkd��|�|�d��dkd��|�|���t��kd��|�|���t��kd��dS)Nsabc�abcFsabcsabcsabcT)r,r+�strr#s r�test_compare_to_strz!BaseBytesTest.test_compare_to_str�s��
	
�������5�5��>��F�F�F�������(@�A�A�U�J�!�	#�	#�	#��������5�5��>��F�F�F�������(@�A�A�U�J�!�	#�	#�	#�������)�)�S�U�U�2�E�:�:�:�������)�)�S�U�U�2�D�9�9�9�9�9rc��tttd����}|�|��}tt	|����}|���|�||��dS)N�Hello)rr�map�ordr+�reversed�reverser,)r �inputr0�outputs    r�
test_reversedzBaseBytesTest.test_reversedsf���S��g�&�&�'�'���N�N�5�!�!���h�q�k�k�"�"��
�
�
���������'�'�'�'�'rc����fd�}|d��}��|dd�|d������|dd�|d������|dd�|d������|dd�|d	������|dd
�|d	������|dd�|d	������|dd�|d������|d
d�|d������|dd�|d������|dd�|d	������|dd
�|d	������|dd�|d	������|dd�|d����dS)Nc�T����tt|����Sr)r+r�r�)�sr s �r�byz'BaseBytesTest.test_getslice.<locals>.by
s����>�>�#�c�1�+�+�.�.�.r�Hello, worldr�r�rC�ello�z, �world�rL���i����������)r,�r r�r0s`  r�
test_getslicezBaseBytesTest.test_getslices���	/�	/�	/�	/�	/��B�~��������2�A�2����7���,�,�,�����1�Q�3����F���,�,�,�����1�Q�3����D���*�*�*�����1�2�2����7���,�,�,�����1�R�4��"�"�W�+�+�.�.�.�����1�S�5��2�2�g�;�;�/�/�/�����3�B�3����G���-�-�-�����3�r�6��B�B�v�J�J�/�/�/�����2�b�5��2�2�d�8�8�,�,�,�����2�3�3����G���-�-�-�����2�b�5��2�2�g�;�;�/�/�/�����2�c�6��B�B�w�K�K�0�0�0�����4��6��B�B�w�K�K�0�0�0�0�0rc�:�ttd����}|�|��}ddddddtjddd	d
f}|D]O}|D]J}|dd�D]=}|�||||�|�||||������>�K�PdS)Nr�rrCrm�rLrOrR���r�)rrrqr+rFrGr,)r �Lr0�indices�start�stop�steps       r�test_extended_getslicez$BaseBytesTest.test_extended_getslice s�����s�������N�N�1�����d�A�q�"�c�3�;��B��T�J���	]�	]�E��
]�
]��#�A�B�B�K�]�]�D��$�$�Q�u�T�$��%7�����%�PT�UY�/�HZ�9[�9[�\�\�\�\�]�
]�	]�	]rc	��d}dD]T}|�||��}|�||�|�|�������U|�t|j|d��|�|dd��}|�||�|dd�d����dS)N�Hello world
ሴ噸骼��utf-8zutf-16�latin-1r����r�)r+r,�encoderZ�UnicodeEncodeError�r �sample�encr0s    r�
test_encodingzBaseBytesTest.test_encoding+s���2��&�	D�	D�C����v�s�+�+�A����Q����v�}�}�S�/A�/A� B� B�C�C�C�C����,�d�n�f�i�P�P�P��N�N�6�9�h�7�7������D�N�N�6�#�2�#�;��@�@�A�A�A�A�Arc�$�d}dD]A}|�||��}|�|�|��|���Bd}|�|d��}|�t|jd��|�|�dd��d��|�|�dd���d��|�|�d	�����d
��dS)Nr�r�uHello world
€þÿr�r�r�zHello world
)r�r�s☃u☃)r+r,�decoderZ�UnicodeDecodeErrorr�s    r�test_decodezBaseBytesTest.test_decode4s��2��&�	4�	4�C����v�s�+�+�A����Q�X�X�c�]�]�F�3�3�3�3�0���N�N�6�9�-�-�����,�a�h��@�@�@�������'�8�4�4�o�F�F�F��������G��D�D�(�	*�	*�	*�	
�������8�8�?�?�A�A�8�L�L�L�L�Lrc���d}d}tjd|jj�d|�d|�d|�d|�d|�d	|�d
���}t	ddd
|��}|�|jd|��dS)NzBoom, Shaka Laka, Boom!)r��utf8�latin1z0
            import sys
            type2test = z
            encodings = zr

            for data in ('', 'short string'):
                try:
                    type2test(data, encoding=z�)
                except LookupError:
                    pass
                else:
                    sys.exit(21)

                for encoding in encodings:
                    try:
                        type2test(data, encoding=encoding, errors=a>)
                    except LookupError:
                        pass
                    else:
                        sys.exit(22)

            for data in (b'', b'short string'):
                data = type2test(data)
                print(repr(data))
                try:
                    data.decode(encoding=z�)
                except LookupError:
                    sys.exit(10)
                else:
                    sys.exit(23)

                try:
                    data.decode(errors=z�)
                except LookupError:
                    pass
                else:
                    sys.exit(24)

                for encoding in encodings:
                    try:
                        data.decode(encoding=encoding, errors=z�)
                    except LookupError:
                        pass
                    else:
                        sys.exit(25)

            sys.exit(10)
        z-X�devz-crK)�textwrap�dedentr+r%rr,�rc)r �invalid�	encodings�code�procs     r�test_check_encoding_errorsz(BaseBytesTest.test_check_encoding_errorsBs���,��/�	���/ ���0�/ �/ �#�/ �/ �/6�/ �/ �DK�/ �/ �2+2�3/ �/ �@)0�A/ �/ �P@G�Q/ �/ �/ �/
�/
��`%�T�5�$��=�=�������"�d�+�+�+�+�+rc��|�d��}|�||�����|�d��}|�||�dgdz����|�d��}|�||�dgdz����dS)NrrKi')r+r,r/s  r�
test_from_intzBaseBytesTest.test_from_intzs����N�N�1��������D�N�N�,�,�-�-�-��N�N�2��������D�N�N�A�3�r�6�2�2�3�3�3��N�N�5�!�!������D�N�N�A�3�u�9�5�5�6�6�6�6�6rc����|�d���|�d���|���zd��|��td��zd��|�td���zd��|�t�fd���|�t�fd���dS)N�abc�def�abcdefsdefabcc����dzS)N�defr)r�s�rr?z+BaseBytesTest.test_concat.<locals>.<lambda>�s���R�%�Z�rc���d�zS)Nr�r)r�s�rr?z+BaseBytesTest.test_concat.<locals>.<lambda>�s���U�R�Z�r)r+r,r�rZr�)r r�r�s @@r�test_concatzBaseBytesTest.test_concat�s�����
�^�^�F�
#�
#��
�^�^�F�
#�
#������b��)�,�,�,�����e�F�m�m�+�Y�7�7�7�����v����+�Y�7�7�7����)�%7�%7�%7�%7�8�8�8����)�%7�%7�%7�%7�8�8�8�8�8rc�n��d|�d��fD�]�|��dzd��|��dzd��|��dzd��|�t�fd���|�t�fd���|�tt
f��5�tjz}ddd��n#1swxYwY|�tt
f��5�tjz�ddd��n#1swxYwY��dS)	Nrrm�	abcabcabcrrrOc����dzS�Ng��Q�	@rr>s�rr?z+BaseBytesTest.test_repeat.<locals>.<lambda>�s����T��rc���d�zSrrr>s�rr?z+BaseBytesTest.test_repeat.<locals>.<lambda>�s������r)r+r,rZr�r�r�rFrG�r �cr0s  @r�test_repeatzBaseBytesTest.test_repeat�s���������/�/�/�
	!�
	!�A����Q��U�L�1�1�1����Q��U�C�(�(�(����Q��V�S�)�)�)����i�)9�)9�)9�)9�:�:�:����i�)9�)9�)9�)9�:�:�:��"�"�M�;�#?�@�@�
$�
$����O��
$�
$�
$�
$�
$�
$�
$�
$�
$�
$�
$����
$�
$�
$�
$��"�"�M�;�#?�@�@�
!�
!��S�[� ��
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!����
!�
!�
!�
!��
	!�
	!s$�C � C$	�'C$	�D(�(D,	�/D,	c��|�|�d��dz|�td��gdz����dS)N�xrL�x)r,r+r�r#s r�test_repeat_1charzBaseBytesTest.test_repeat_1char�sG���������-�-�c�1�4�>�>�3�s�8�8�*�S�.�3Q�3Q�R�R�R�R�Rrc�<��|�d���|�td�����|�ttd�������|�d���|�t�fd���|�t�fd���|�t�fd���|�t�fd���|�t�fd���|�t�fd	���ttfD�]X}|�|d
�����|�|d�����|�|d�����|�|d
�����|�|d�����|�|d�����|�|d�����|�|d�����|�|d�����|�|d�����|�|d�������ZdS)Nrr8��c���d�vS)N�,rr>s�rr?z-BaseBytesTest.test_contains.<locals>.<lambda>�s���c�Q�h�rc���d�vSrNrr>s�rr?z-BaseBytesTest.test_contains.<locals>.<lambda>�s���b�A�g�rc�&��tjdz�vSrBrEr>s�rr?z-BaseBytesTest.test_contains.<locals>.<lambda>�s���c�k�!�m�q�.@�rc���d�vSrrr>s�rr?z-BaseBytesTest.test_contains.<locals>.<lambda>�s���T�Q�Y�rc�@��ttd�����vS�Nr8)�floatr�r>s�rr?z-BaseBytesTest.test_contains.<locals>.<lambda>�s���U�3�s�8�8�_�_��-A�rc���d�vSr-rr>s�rr?z-BaseBytesTest.test_contains.<locals>.<lambda>�s���S�A�X�rr�a�b�c�ab�bc�ac�dsdabsabd)
r+rsr��int�assertNotInrZr�r�r�r�)r �fr0s  @r�
test_containszBaseBytesTest.test_contains�s}����N�N�6�"�"���
�
�c�#�h�h��"�"�"��
�
�c�#�c�(�(�m�m�Q�'�'�'�����a� � � ����*�&6�&6�&6�&6�7�7�7����*�o�o�o�o�6�6�6����*�&@�&@�&@�&@�A�A�A����)�%6�%6�%6�%6�7�7�7����)�%A�%A�%A�%A�B�B�B����)�%5�%5�%5�%5�6�6�6��	�!�	+�	+�A��M�M�!�!�C�&�&�!�$�$�$��M�M�!�!�D�'�'�1�%�%�%��M�M�!�!�D�'�'�1�%�%�%��M�M�!�!�D�'�'�1�%�%�%��M�M�!�!�E�(�(�A�&�&�&��M�M�!�!�E�(�(�A�&�&�&��M�M�!�!�F�)�)�Q�'�'�'����Q�Q�u�X�X�q�)�)�)����Q�Q�t�W�W�a�(�(�(����Q�Q�v�Y�Y��*�*�*����Q�Q�v�Y�Y��*�*�*�*�	+�	+rc�T�|�t|jj��|�t|jjd��|�|j�d��|�����tgd���}|�|j�d��|��|�|j�d��|��|�|j�d��|��dD]B}|�|j�|��|������CdD](}|�t|jj|���)|�|j�d	��d
��|�t|jjd��|�t|jjd��|�t|jjd
��|�t|jjd��|�t|jjd��|�t|jjd��dD]|\}}|�t��5}|j�|��ddd��n#1swxYwY|�d|zt|j	�����}dS)NrCr��ra�0�1a2B30z  1A 2B  30   z
 1A
2B	30z	

 u…   
�0000ss1Br8�rtz1a b cd�z12      34))z12 x4 56rm)z12 3x 56r�)z12 xy 56rm)u	12 3ÿ 56r�zat position %s)
rZr�r+�fromhexr,r�r�rsr��	exception)r r0r�data�pos�cms      r�test_fromhexzBaseBytesTest.test_fromhex�s�����)�T�^�%;�<�<�<����)�T�^�%;�Q�?�?�?������/�/��3�3�T�^�^�5E�5E�F�F�F��(�(�(�)�)�������/�/��9�9�1�=�=�=������/�/�0@�A�A�1�E�E�E�	
�����/�/��@�@�!�D�D�D�+�	J�	J�A����T�^�3�3�A�6�6����8H�8H�I�I�I�I�=�	E�	E�A����j�$�.�*@�!�D�D�D�D������/�/��7�7��A�A�A����)�T�^�%;�U�C�C�C����*�d�n�&<�c�B�B�B����*�d�n�&<�d�C�C�C����*�d�n�&<�i�H�H�H����*�d�n�&<�f�E�E�E����*�d�n�&<�>N�O�O�O�	
�	E�	E�I�D�#��"�"�:�.�.�
-�"���&�&�t�,�,�,�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-����
-�
-�
-�
-��M�M�*�S�0�#�b�l�2C�2C�D�D�D�D�	E�	Es�
K1�1K5	�8K5	c�`�|�t|jj��|�t|jjd��|�|�d�����d��|�tgd������d��|�|�d�����d��|�t
d�����d��dS)NrCrrr<�1a2b30�+0)rZr�r+�hexr,r��
memoryviewr#s r�test_hexzBaseBytesTest.test_hex�s������)�T�^�%7�8�8�8����)�T�^�%7��;�;�;��������,�,�0�0�2�2�B�7�7�7�����#5�#5�#5�6�6�:�:�<�<�h�G�G�G��������8�8�<�<�>�>��I�I�I�����O�4�4�8�8�:�:�H�E�E�E�E�Erc�

�|�d��}|�|���d��|�t��5|�d��ddd��n#1swxYwY|�t��5|�d��ddd��n#1swxYwY|�|�dd��d��|�t
��5|�dd��ddd��n#1swxYwY|�t��5|�d��ddd��n#1swxYwY|�t��5|�d��ddd��n#1swxYwY|�t��5|�d	��ddd��n#1swxYwY|�t��5|�t
d
����ddd��n#1swxYwY|�|�dd��d��|�|�d��d��|�|�d
��d��|�|�d��d��|�|�d��d��|�|�dd��d��|�|�dd��d��|�|�dd��d��|�|�d��d��|�|�d��d��|�|�dd��d��|�|�dd��d��|�|�dd��d��|�|�dd��d��|�|�dd��d��d}|�|�dd ��d!��dS)"Ns���b901efr�xx�:r�ÿ����r^r�zb901efrB�zb901ef�rmr����zb9:01:ef�$zb9$01$efrCrOrWzb9:01ef�*rRzb901*efs {sworldishelloi0�.�zC7b7305000000776f.726c646902000000.730500000068656c.6c6f690100000030)r+r,rLrZr�r��chr)r �three_bytesrs   r�test_hex_separator_basicsz'BaseBytesTest.test_hex_separator_basics�s���n�n�_�5�5��������*�*�H�5�5�5�
�
�
�z�
*�
*�	 �	 ��O�O�B����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
�
�z�
*�
*�	"�	"��O�O�D�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"��������a�0�0�(�;�;�;�
�
�
�y�
)�
)�	%�	%��O�O�D�!�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�
�
�
�z�
*�
*�	$�	$��O�O�F�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�
�
�
�z�
*�
*�	%�	%��O�O�G�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�
�
�
�z�
*�
*�	%�	%��O�O�G�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�
�
�
�z�
*�
*�	(�	(��O�O�C��J�J�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(��������a�0�0�(�;�;�;��������1�1�3C�D�D�D��������0�0�2B�C�C�C��������1�1�3C�D�D�D��������0�0�2B�C�C�C��������a�0�0�(�;�;�;��������a�0�0�(�;�;�;��������b�1�1�8�<�<�<��������-�-�z�:�:�:��������.�.�
�;�;�;��������a�0�0�*�=�=�=��������b�1�1�:�>�>�>��������a�0�0�)�<�<�<��������a�0�0�*�=�=�=��������b�1�1�9�=�=�=�c��������3��*�*�,q�r�r�r�r�rs~�A:�:A>�A>�C�C�C�D3�3D7�:D7�E:�:E>�E>�G�G�G�&H�H�H�-#I�I �#I c��|�tdd����}|�|���d��dS)N�Z�_�
5a5b5c5d5e�r+rqr,rL)r �
five_bytess  r�test_hex_separator_five_bytesz+BaseBytesTest.test_hex_separator_five_bytessA���^�^�E�"�R�L�L�1�1�
�������)�)�<�8�8�8�8�8rc��|�d�tdd��D����}|�|���d��|�|�dd��d��|�|�dd��d	��|�|�d
d��d��|�|�d
d��d��|�|�d
d��d��|�|�d
d��d��|�|�d
d��d��|�|�dd��d��|�|�d
d��d��|�|�dd��d��|�|�d
d��d��|�|�dd��d��dS)Nc3� K�|]	}|dzV��
dS)rmNr�rer#s  rrgz=BaseBytesTest.test_hex_separator_six_bytes.<locals>.<genexpr>
s&����"<�"<�1�1�Q�3�"<�"<�"<�"<�"<�"<rrCr��0306090c0f12r[z03.06.09.0c.0f.12� rWz0306 090c 0f12�-rmz
030609-0c0f12rRr�z
0306:090c0f12r�z
03:06090c0f12�rb�_r��
030609_0c0f12rXz
0306090c:0f12�@r�z
0306090c0f@12i����i����rd)r �	six_bytess  r�test_hex_separator_six_bytesz*BaseBytesTest.test_hex_separator_six_bytes	s���N�N�"<�"<��a����"<�"<�"<�<�<�	���������.�9�9�9�������s�A�.�.�0C�D�D�D�������s�A�.�.�0@�A�A�A�������s�A�.�.��@�@�@�������s�A�.�.��@�@�@�������s�A�.�.��@�@�@�������s�A�.�.��?�?�?�������s�B�/�/��@�@�@�������s�B�/�/��A�A�A�������s�B�/�/��A�A�A�������t�R�0�0�/�B�B�B�������s�B�/�/��@�@�@�������s�C�0�0�.�A�A�A�A�Arc�d�|�|�d���g��d��|�|�d���dg��d��dgddgddggd�fD]�}tt	|j|����}|�|�d���|��d��|�|�d���t|����d��|�|�d���t
|����d����|�d��j}|�|dd	g��d
��|�|td��d	g��d
��|�|dtd	��g��d
��|�|td��d	g��d
��|�|dtd	��g��d
��dgdz}ddd
zz}|�||��|��dgdz}ddz}|�|�d���|��|��|�	t|�d��jd��|�	t��5|td��ddg��ddd��n#1swxYwY|�	t��5|td��ddg��ddd��dS#1swxYwYdS)Nrrr0r4r3r2)r0r1r2s.:scdsab.:cdi��s.:abci��� �cdsef)r,r+�joinrrr�rtrurMr�rZr�)r �lst�dot_join�seq�expecteds     r�	test_joinzBaseBytesTest.test_joins����������,�,�1�1�"�5�5�s�;�;�;��������,�,�1�1�3�%�8�8�#�>�>�>��H�t�U�m�e�T�]�<N�<N�<N�O�	J�	J�C��s�4�>�3�/�/�0�0�C����T�^�^�C�0�0�5�5�c�:�:�F�C�C�C����T�^�^�C�0�0�5�5�e�C�j�j�A�A�6�J�J�J����T�^�^�C�0�0�5�5�d�3�i�i�@�@�&�I�I�I�I��>�>�%�(�(�-�������5�%�.�1�1�9�=�=�=������:�e�#4�#4�e�"<�=�=�y�I�I�I������5�*�U�*;�*;�"<�=�=�y�I�I�I������9�U�#3�#3�U�";�<�<�i�H�H�H������5�)�E�*:�*:�";�<�<�i�H�H�H��h�����H�u�,�,�������#����1�1�1��h�����F�?���������,�,�1�1�#�6�6��A�A�A����)�T�^�^�D�%9�%9�%>��E�E�E��
�
�y�
)�
)�	6�	6��H�i��&�&��e�4�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�
�
�
�y�
)�
)�	7�	7��H�j��'�'��u�5�6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7s$�/M�M�M�<N%�%N)�,N)c�~�|�d��}d}d}d}|�|�d��d��|�|�d��d��|�|�d	��d
��|�|�|��d��|�|�|��d
��|�|�dd��d��|�|�dd��d��|�|�dd
d��d
��|�|�ddd��d
��|�|�|d��d��|�|�|d��d��|�|�|d
d��d
��|�|�|dd��d
��dS)N�mississippi�i�p�w�ir��ssrW�wrrm�prCrmr��	)r+r,�count)r r0rf�p�ws     r�
test_countzBaseBytesTest.test_count7s����N�N�>�*�*������������������*�*�*�����������+�+�+�����������*�*�*����������Q�'�'�'����������Q�'�'�'��������q�)�)�1�-�-�-��������q�)�)�1�-�-�-��������q�!�,�,�a�0�0�0��������q�!�,�,�a�0�0�0��������A����*�*�*��������A����*�*�*��������A�q�)�)�1�-�-�-��������A�q�)�)�1�-�-�-�-�-rc�D�|�d��}|�|����d����|�|�d����|�|�d����|�|�d����|�|�d����|�|�d����|�t
��5}|�dg��ddd��n#1swxYwYt
|j��}|�d|��|�d|��dS)	N�hello�anythingshel�hshellowshar�rt)	r+r��
startswithr�rZr�r�rDrs�r r0rG�excs    r�test_startswithzBaseBytesTest.test_startswithNs����N�N�8�$�$��������)�)�4�4�[�A�A�B�B�B�������X�.�.�/�/�/�������V�,�,�-�-�-�������T�*�*�+�+�+�������i�0�0�1�1�1�������e�,�,�-�-�-�
�
�
�y�
)�
)�	!�R�
�L�L�$�� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!��"�,�����
�
�g�s�#�#�#��
�
�g�s�#�#�#�#�#s�2E�E�Ec�8�|�d��}|�t���d����|�|�d����|�|�d����|�|�d����|�|�d����|�|�d����|�t��5}|�dg��ddd��n#1swxYwYt|j��}|�	d|��|�	d|��dS)	Nr�r�sllo�oswhellosnor�rt)
r+r�r��endswithr�rZr�r�rDrsr�s    r�
test_endswithzBaseBytesTest.test_endswith\s����N�N�8�$�$��������-�-�k�:�:�;�;�;�����
�
�8�,�,�-�-�-�����
�
�6�*�*�+�+�+�����
�
�4�(�(�)�)�)�������I�.�.�/�/�/�������E�*�*�+�+�+�
�
�
�y�
)�
)�	�R�
�J�J��v����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��"�,�����
�
�g�s�#�#�#��
�
�g�s�#�#�#�#�#s�,E�E�Ec�@�|�d��}d}d}|�|�d��d��|�|�d��d��|�|�d��d��|�|�|��d	��|�|�|��d��|�|�dd
��d��|�|�dd	d��d��|�|�dd	d
��d��|�|�|d
��d��|�|�|d	d
��d	��|�|�|d	d
��d��ddtjd	zfD]$}|�td|j|���%dS)Nr}r~r�r�rWr�rO�
mississippianrCrmr�r�rmr^zbyte must be in range\(0, 256\))r+r,�findrFrG�assertRaisesRegexr�)r r0rfr��indexs     r�	test_findzBaseBytesTest.test_findjs����N�N�>�*�*����������������*�*�*����������r�*�*�*������� 0�1�1�2�6�6�6����������A�&�&�&����������B�'�'�'��������q�)�)�1�-�-�-��������q�!�,�,�a�0�0�0��������q�!�,�,�b�1�1�1��������1���q�)�)�)��������1�a���!�,�,�,��������1�a���"�-�-�-��#�s�{�Q��/�	�	�E��"�"��>����
�
�
�
�	�	rc�~�|�d��}d}d}|�|�d��d��|�|�d��d��|�|�d��d��|�|�|��d	��|�|�|��d��|�|�dd
��d��|�|�ddd��d
��|�|�|dd
��d��|�|�|d
d��d��|�|�|dd
��d��dS)Nr}r~r�r�r�r�rOr�rKrmrrmrWrCr�r�)r+r,�rfind�r r0rfr�s    r�
test_rfindzBaseBytesTest.test_rfind�s����N�N�>�*�*����������������+�+�+�����������+�+�+�������!1�2�2�B�7�7�7����������R�(�(�(����������R�(�(�(���������*�*�A�.�.�.���������1�-�-�q�1�1�1��������A�q�)�)�1�-�-�-��������A�q�)�)�1�-�-�-��������A�q�)�)�2�.�.�.�.�.rc��|�d��}d}d}|�|�d��d��|�t|jd��|�t|jd��|�|�|��d��|�t|j|��|�|�dd	��d
��|�|�ddd��d��|�t|jddd	��|�|�|d��d��|�|�|dd	��d��|�t|j|dd	��dS)
Nr}r~r�r�rWr�r�rCrmr�r�rm)r+r,r�rZr�r�s    r�
test_indexzBaseBytesTest.test_index�s����N�N�>�*�*����������������+�+�+����*�a�g�t�4�4�4����*�a�g�/?�@�@�@����������Q�'�'�'����*�a�g�q�1�1�1���������*�*�A�.�.�.���������1�-�-�q�1�1�1����*�a�g�u�a��;�;�;��������A����*�*�*��������A�q�)�)�1�-�-�-����*�a�g�q�!�Q�7�7�7�7�7rc�>�|�d��}d}d}|�|�d��d��|�t|jd��|�t|jd��|�|�|��d��|�t|j|��|�|�dd	��d��|�|�dd
d��d��|�|�|d
d	��d
��|�|�|d	d��d��|�t|j|d
d	��dS)Nr}r~r�r�r�r�r�rKrmrrmrWrCr�r�)r+r,�rindexrZr�r�s    r�test_rindexzBaseBytesTest.test_rindex�sf���N�N�>�*�*������������%���!�,�,�,����*�a�h��5�5�5����*�a�h�0@�A�A�A�������!���b�)�)�)����*�a�h��2�2�2�������%��+�+�Q�/�/�/�������%��A�.�.��2�2�2�������!�Q��*�*�A�.�.�.�������!�Q��*�*�A�.�.�.����*�a�h��1�a�8�8�8�8�8rc�D����d��}|}|dz}��|d����|d����||u����d��}|dz}��|d����t	|���j����d��}|dz}��|d����t	|���j���fd	�}|d
ddid
��|dddd�d
��|d
ddd�d
��|ddd��|ddd��|ddd��|ddd��|ddd��|dd d!��|d"d#d#��dS)$N�
hello, %b!�world�
hello, world!�%s / 100 = %d%%�sseventy-nine�O�seventy-nine / 100 = 79%�
hello,%b!�
hello,world!c�����|��}||z}��||����t|���j��dSr)r+r,�assertIsr-)�fmt�vals�resultr0r s    �r�checkz%BaseBytesTest.test_mod.<locals>.check�sU������s�#�#�A��D��A����Q��'�'�'��M�M�$�q�'�'�4�>�2�2�2�2�2rs
...%(foo)b...�foors	...abc...s...%(f(o)o)b...sbar)sf(o)or��{)r�rs%*b)r�rs  abc)r�rsabc  s%*.*b)r�rWrs   ab)r�rmrs%i %*.*b)rKr�rmrs10   abcs
%i%b %*.*b)rK�3r�rmrs	103   abc�%cr0�r+r,r�r�r-)r r0�origr8r�s`    r�test_modzBaseBytesTest.test_mod�s����N�N�=�)�)����
��L������,�-�-�-�����}�-�-�-�����d��#�#�#��N�N�-�.�.��
�%�%������7�8�8�8��
�
�d�1�g�g�t�~�.�.�.��N�N�+�,�,��
��L������/�0�0�0��
�
�d�1�g�g�t�~�.�.�.�	3�	3�	3�	3�	3�	�������>�>�>�
�� �F�6�"B�"B�L�Q�Q�Q�
����c� :� :�L�I�I�I�
��f�l�H�-�-�-�
��f�m�X�.�.�.�
��h���2�2�2�
��h���2�2�2�
��k�.��<�<�<�
��m�6��E�E�E�
��e�T�4� � � � � rc�$�|�d��}|}|dz}|�|d��|�|d��|�||u��|�d��}|dz}|�|d��|�t	|��|j��|�d��}|dz}|�|d��|�t	|��|j��dS)	Nr�r�r�r�r�r�r�r�r�)r r0r�s   r�	test_imodzBaseBytesTest.test_imod�s
���N�N�=�)�)����	�X�
������,�-�-�-�����}�-�-�-�����d��#�#�#��N�N�-�.�.��	�
"�"������7�8�8�8��
�
�d�1�g�g�t�~�.�.�.��N�N�+�,�,��	�X�
������/�0�0�0��
�
�d�1�g�g�t�~�.�.�.�.�.rc�4�|�t��5t��|�d��zddd��n#1swxYwY|�|�d���d��t��dS)Nrz%r)rZr��objectr+r��__rmod__�NotImplementedr#s r�	test_rmodzBaseBytesTest.test_rmod�s���
�
�
�y�
)�
)�	.�	.��H�H�t�~�~�f�-�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.��
�
�d�n�n�V�,�,�5�5�d�;�;�^�L�L�L�L�Ls�%A�A�Ac���|�d��}|�|�dd��d��|�|�dd��d��dS)Nr}r�r0smassassappar�r"s	mixixippi)r+r,�replacer/s  r�test_replacezBaseBytesTest.test_replace�sa���N�N�>�*�*��������4��.�.��?�?�?�������5�$�/�/��>�>�>�>�>rc�p�|�t|�d��jdd��dS)N�a b� r)rZr�r+r�r#s r�test_replace_int_errorz$BaseBytesTest.test_replace_int_error�s1�����)�T�^�^�F�%;�%;�%C�R��M�M�M�M�Mrc���|�t|�d��jd��|�t|�d��jd��dS�Nr�rk�rZr�r+�split�rsplitr#s r�test_split_string_errorz%BaseBytesTest.test_split_string_error�sV�����)�T�^�^�F�%;�%;�%A�3�G�G�G����)�T�^�^�F�%;�%;�%B�C�H�H�H�H�Hrc���|�t|�d��jd��|�t|�d��jd��dS�Nr�r�r�r#s r�test_split_int_errorz"BaseBytesTest.test_split_int_errorsV�����)�T�^�^�F�%;�%;�%A�2�F�F�F����)�T�^�^�F�%;�%;�%B�B�G�G�G�G�Grc��dD]@}|�|��}|�|���|g���A|�d��}|�|���dg��dS)N)sabsabsabsab�		

�)r+r,r�r/s  r�test_split_unicodewhitespacez*BaseBytesTest.test_split_unicodewhitespaces��=�	-�	-�A����q�!�!�A����Q�W�W�Y�Y���,�,�,�,��N�N�B�C�C����������%8�$9�:�:�:�:�:rc��|�d��}|�|���dg��dS)Nr�r�)r+r,r�r/s  r�test_rsplit_unicodewhitespacez+BaseBytesTest.test_rsplit_unicodewhitespace
s<���N�N�B�C�C����������&9�%:�;�;�;�;�;rc���|�d��}|�|�d��d��|�|�d��d��dS)Nr}r�)smir�sissippir�)r}rr)r+r,�	partitionr/s  r�test_partitionzBaseBytesTest.test_partitions_���N�N�>�*�*��������U�+�+�-G�H�H�H�������T�*�*�,F�G�G�G�G�Grc�&�|�d��}|�|�d��d��|�|�d��d��|�|�d��d��dS)Nr}r�)smissir�sippir�)s
mississippr�rr�)rrr})r+r,�
rpartitionr/s  r�test_rpartitionzBaseBytesTest.test_rpartitions����N�N�>�*�*��������e�,�,�.H�I�I�I�������d�+�+�-G�H�H�H�������d�+�+�-G�H�H�H�H�Hrc���|�t|�d��jd��|�t|�d��jd��dSr��rZr�r+r�r�r#s r�test_partition_string_errorz)BaseBytesTest.test_partition_string_errorsV�����)�T�^�^�F�%;�%;�%E�s�K�K�K����)�T�^�^�F�%;�%;�%F��L�L�L�L�Lrc���|�t|�d��jd��|�t|�d��jd��dSr�r�r#s r�test_partition_int_errorz&BaseBytesTest.test_partition_int_error sV�����)�T�^�^�F�%;�%;�%E�r�J�J�J����)�T�^�^�F�%;�%;�%F��K�K�K�K�Krc��ttjdz��D][}dD]V}|�|��}tj||��}tj|��}|�||���W�\dS�NrC)rr0rs�ab�s�)rq�pickle�HIGHEST_PROTOCOLr+�dumps�loadsr,)r �protor0�ps�qs     r�
test_picklingzBaseBytesTest.test_pickling$s����6�2�Q�6�7�7�	'�	'�E�F�
'�
'���N�N�1�%�%���\�!�U�+�+���L��$�$��� � ��A�&�&�&�&�	
'�	'�	'rc���ttjdz��D�]F}dD�]?}t|�|����x}}t|�|����}tj||��}tj|��}|�t|��t|����|�t|��|��tj|��}|s��t|��tj||��}tj|��}|�t|��|dd�����A��HdSr�)rqr�r�rur+rrr�r�r,r-�next)r r�r0�it�itorgrE�ds       r�test_iterator_picklingz$BaseBytesTest.test_iterator_pickling,s:���6�2�Q�6�7�7�	5�	5�E�F�
5�
5��!�$�.�.��"3�"3�4�4�4��U��D�N�N�1�-�-�.�.���L��U�+�+���\�!�_�_��� � ��e���d�2�h�h�7�7�7�� � ��b���4�0�0�0��\�!�_�_������R�����L��U�+�+���\�!�_�_��� � ��b���4����8�4�4�4�4�
5�	5�	5rc��|�|�d���td����d��|�|�d���td����d��|�|�d���td����d��dS)Nrr5r1r4r3)r,r+�striprM�lstrip�rstripr#s r�test_strip_bytearrayz"BaseBytesTest.test_strip_bytearray>s����������/�/�5�5�j��6G�6G�H�H�$�O�O�O��������/�/�6�6�z�%�7H�7H�I�I�5�Q�Q�Q��������/�/�6�6�z�%�7H�7H�I�I�5�Q�Q�Q�Q�Qrc�>�|�t|�d��jd��|�t|�d��jd��|�t|�d��jd��dS)Nr�ac�rZr�r+r�r�r�r#s r�test_strip_string_errorz%BaseBytesTest.test_strip_string_errorCs}�����)�T�^�^�F�%;�%;�%A�4�H�H�H����)�T�^�^�F�%;�%;�%B�D�I�I�I����)�T�^�^�F�%;�%;�%B�D�I�I�I�I�Irc�>�|�t|�d��jd��|�t|�d��jd��|�t|�d��jd��dS)Ns abc r�r�r#s r�test_strip_int_errorz"BaseBytesTest.test_strip_int_errorHs}�����)�T�^�^�H�%=�%=�%C�R�H�H�H����)�T�^�^�H�%=�%=�%D�b�I�I�I����)�T�^�^�H�%=�%=�%D�b�I�I�I�I�Irc	���|�d��}ttfD]H}|�|�d|d����|�d�����IdS)Nrr��-s--abc--)r+r�r�r,�center�r r0�	fill_types   r�test_centerzBaseBytesTest.test_centerMsu���N�N�6�"�"����+�	9�	9�I����Q�X�X�a���4���9�9�!�^�^�J�7�7�
9�
9�
9�
9�	9�	9rc	���|�d��}ttfD]H}|�|�d|d����|�d�����IdS)Nrr�rsabc----)r+r�r�r,�ljustrs   r�
test_ljustzBaseBytesTest.test_ljustT�u���N�N�6�"�"����+�	9�	9�I����Q�W�W�Q�	�	�$���8�8�!�^�^�J�7�7�
9�
9�
9�
9�	9�	9rc	���|�d��}ttfD]H}|�|�d|d����|�d�����IdS)Nrr�rs----abc)r+r�r�r,�rjustrs   r�
test_rjustzBaseBytesTest.test_rjust[rrc�D�|�t|�d��jdd��|�t|�d��jdd��|�t|�d��jdd��dS)Nrr�r�)rZr�r+rrr
r#s r�test_xjust_int_errorz"BaseBytesTest.test_xjust_int_errorbs������)�T�^�^�F�%;�%;�%B�A�r�J�J�J����)�T�^�^�F�%;�%;�%A�1�b�I�I�I����)�T�^�^�F�%;�%;�%A�1�b�I�I�I�I�Irc���|�d���|��fd�tt�����D��gd���dS)NsA��c�D��g|]}t�||dz�����S�rC)r�)rerfr0s  �r�
<listcomp>z*BaseBytesTest.test_ord.<locals>.<listcomp>is+���?�?�?�A�#�a��!�A�#��h�-�-�?�?�?r)r�A�rhr�)r+r,rqrYr/s @r�test_ordzBaseBytesTest.test_ordgsc����N�N�-�.�.�����?�?�?�?��s�1�v�v���?�?�?�/�/�/�	1�	1�	1�	1�	1rc�f�d}|�|j�dd��|��d}|�|j�dd��|��|�t|jjdd��|�t
|jjdd��dS)	Ns	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`xyzdefghijklmnopqrstuvwxyz{|}~�����������������������������������������������������������������������������������������������������������������������������r�xyzs	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������xyzs���sxyzqr�r)r,r+�	maketransrZr�r�)r �
transtables  r�test_maketranszBaseBytesTest.test_maketransls���~�
������1�1�&�&�A�A�:�N�N�N�u�
������1�1�/�6�J�J�J�W�W�W����*�d�n�&>���P�P�P����)�T�^�%=�u�e�L�L�L�L�Lrc�2
�|�d��}|�d��}|�d��}|�d��}|�d��}|�d|�|d����|�d|�|dd����|�d|�|dd����|�d	|�|dd����|�d|�|d����|�d|�|dd����|�d|�|dd����|�d	|�|dd����|�d|�|d����|�d|�|dd����|�d|�|dd����|�d	|�|dd����|�d|�|d����|�d|�|dd����|�d|�|dd����|�d	|�|dd����|�d|�|d����|�d
|�|dd����|�d
|�|dd����|�d	|�|dd����|�d|�|d����|�d|�|dd����|�d|�|dd����|�d|�|dd����|�d|�|d����|�d|�|dd����|�d|�|dd����|�d|�|dd����dS)
Nr��lr�r"r�rWrmrRrrCTF)	r+r,r�r�r�r�r�r�r�)r r0�l�hr#�os      r�test_none_argumentsz!BaseBytesTest.test_none_argumentstsu���N�N�8�$�$���N�N�4� � ���N�N�4� � ���N�N�4� � ���N�N�4� � ������A�F�F�1�d�O�O�,�,�,�����A�F�F�1�b�$�/�/�0�0�0�����A�F�F�1�d�B�/�/�0�0�0�����A�F�F�1�d�D�1�1�2�2�2�����A�G�G�A�t�,�,�-�-�-�����A�G�G�A�r�4�0�0�1�1�1�����A�G�G�A�t�R�0�0�1�1�1�����A�G�G�A�t�T�2�2�3�3�3�����A�G�G�A�t�,�,�-�-�-�����A�G�G�A�r�4�0�0�1�1�1�����A�G�G�A�t�R�0�0�1�1�1�����A�G�G�A�t�T�2�2�3�3�3�����A�H�H�Q��-�-�.�.�.�����A�H�H�Q��D�1�1�2�2�2�����A�H�H�Q��b�1�1�2�2�2�����A�H�H�Q��d�3�3�4�4�4�����A�G�G�A�t�,�,�-�-�-�����A�G�G�A�r�4�0�0�1�1�1�����A�G�G�A�t�R�0�0�1�1�1�����A�G�G�A�t�T�2�2�3�3�3�����q�z�z�!�T�2�2�3�3�3�����q�z�z�!�R��6�6�7�7�7�����q�z�z�!�T�2�6�6�7�7�7������
�
�1�d�D� 9� 9�:�:�:�����q�|�|�A�t�4�4�5�5�5�����q�|�|�A�r�4�8�8�9�9�9�����q�|�|�A�t�R�8�8�9�9�9��������Q��d� ;� ;�<�<�<�<�<rc��|�d��}|j|j|j|j|jfD]V}|�t|d��|�t|d��|�t|d���WdS)Nr�rOr^i')r+r�r�r�r�r�rZr�)r r0�methods   r�(test_integer_arguments_out_of_byte_rangez6BaseBytesTest.test_integer_arguments_out_of_byte_range�s����N�N�8�$�$���w�������!�(�C�	8�	8�F����j�&�"�5�5�5����j�&�#�6�6�6����j�&�$�7�7�7�7�	8�	8rc	�`�|�d��}|�d��}|�td|j|ddd��|�td|j|ddd��|�td|j|ddd��|�td|j|ddd��|�td|j|ddd��|�td|j|ddd��|�td	|j	|ddd��dS)
Nr�r"z\bfind\bz	\brfind\bz	\bindex\bz
\brindex\bz	\bcount\bz\bstartswith\bz\bendswith\b)
r+r�r�r�r�r�r�r�r�r�)r r0r#s   r�*test_find_etc_raise_correct_error_messagesz8BaseBytesTest.test_find_etc_raise_correct_error_messages�sN���N�N�8�$�$���N�N�4� � �����y�+�q�v� !�4��t�	5�	5�	5����y�,��� !�4��t�	5�	5�	5����y�,��� !�4��t�	5�	5�	5����y�-��� !�4��t�	5�	5�	5����y�,��� !�4��t�	5�	5�	5����y�*;�Q�\� !�4��t�	5�	5�	5����y�/�1�:� !�4��t�	5�	5�	5�	5�	5rc��tj�|t|j��tj�|t
|j��dSr)�test�support�check_free_after_iteratingrur+r�r#s r�test_free_after_iteratingz'BaseBytesTest.test_free_after_iterating�s@����/�/��d�D�N�K�K�K���/�/��h���O�O�O�O�Orc	��|�d��}ttd����}td��|td��<|�t
|j��|�t
|jdd��|�t|jttd������|�|d��}|�	|d��|�
||j��|�|��}|�|d��}|�	||��|�	|d��|�|d��}|�	|d	��|�dd
��}|�	|d��|�|d���}|�	|d��|�|d���}|�	|d	��|�dd
���}|�	|d��dS)
Nr�r^�err�rshellershee�eshllo)�delete)r+r�rqr�rZr��	translater�r�r,�assertIsInstance)r r0�rosettarr�s     r�test_translatezBaseBytesTest.test_translate�s���N�N�8�$�$���E�#�J�J�'�'����H�H���C�������)�Q�[�1�1�1����)�Q�[�$��=�=�=����*�a�k�5��s���3D�3D�E�E�E�
�K�K���*�*������H�%�%�%����a���0�0�0�
�K�K�� � ��
�K�K���%�%������A��������H�%�%�%�
�K�K���&�&������F�#�#�#�
�K�K��d�#�#������G�$�$�$�
�K�K���K�,�,������H�%�%�%�
�K�K���K�-�-������F�#�#�#�
�K�K��T�K�*�*������G�$�$�$�$�$rc���tjd��}|�d��}|�t��5|�|d��ddd��n#1swxYwY|�t��5|�|d��ddd��n#1swxYwY|�|�|d��d��dS)N�	_testcapi)r_rRrCrr_)r�
import_moduler+rZr[�sequence_getitemr,)r r3�objs   r�test_sq_itemzBaseBytesTest.test_sq_item�sM��!�/��<�<�	��n�n�U�#�#��
�
�
�z�
*�
*�	0�	0��&�&�s�B�/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�
�
�
�z�
*�
*�	/�	/��&�&�s�A�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�����3�3�C��;�;�R�@�@�@�@�@s$�A'�'A+�.A+�B/�/B3�6B3N)Kr%r&r'r1r:r\rvryr{r�r�r�r�r�r�rr�r�r�rr�r�r�r�r�rrrrr r$r:rHrNr_rfrrr{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�rrrr
rrrr"r$r)r1r7rrrr)r)/s�������6�6�6�
/�/�/�
;�
;�
;�-�-�-�8-�-�-�-�-�-�0�0�0�"H�H�H�B�B�B�J�J�J�M�M�M�&
A�
A�
A�������L�L�L�#�#�#�.�:�:���:�(�(�(�1�1�1�(	]�	]�	]�B�B�B�M�M�M�6,�6,�6,�p7�7�7�9�9�9�!�!�!�S�S�S�+�+�+�0#E�#E�#E�JF�F�F�#s�#s�#s�J9�9�9�B�B�B� 7�7�7�<.�.�.�.$�$�$�$�$�$����2/�/�/�&8�8�8�(9�9�9�&!!�!!�!!�F/�/�/�"M�M�M�
?�?�?�
N�N�N�I�I�I�H�H�H�;�;�;�<�<�<�H�H�H�
I�I�I�M�M�M�L�L�L�'�'�'�5�5�5�$R�R�R�
J�J�J�
J�J�J�
9�9�9�9�9�9�9�9�9�J�J�J�
1�1�1�
M�M�M�)=�)=�)=�V8�8�8�5�5�5�&P�P�P�%�%�%�>A�A�A�A�Arr)c�<�eZdZeZd�Zd�Zd�Zd�Zd�Z	d�Z
d�ZdS)	�	BytesTestc���d}|�|���|��|�t|�����|j��Gd�dt��}|d��}|�|���|��|�t|�����|j��dS)Nsfoobarc��eZdZdS)�/BytesTest.test__bytes__.<locals>.bytes_subclassNr�rrr�bytes_subclassr<�r�rr=sbarfoo)r,�	__bytes__r-r+r�)r �foor=�bars    r�
test__bytes__zBytesTest.test__bytes__�s�������������#�.�.�.�����c�m�m�o�o�.�.���?�?�?�	�	�	�	�	�U�	�	�	��n�]�+�+����������#�.�.�.�����c�m�m�o�o�.�.���?�?�?�?�?rc��d}d}|�t|��5|dddd��dS#1swxYwYdS)N�pythonz'byte indices must be integers or slicesr8)r�r��r r0�msgs   r�test_getitem_errorzBytesTest.test_getitem_error�s�����7��
�
#�
#�I�s�
3�
3�	�	�
�c�F�F�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�	6�:�:c���tjttj��}t|dd���5}|�t
|jd��ddd��dS#1swxYwYdS)N�rbr)�	bufferingr)�os�open�__file__�O_RDONLYrZr��readinto)r �fdr9s   r�test_buffer_is_readonlyz!BytesTest.test_buffer_is_readonly�s���
�W�X�r�{�
+�
+��
�"�d�a�
(�
(�
(�	:�A����i���S�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�	:�	:s�"A&�&A*�-A*c�P�Gd�d��}|�t|����d��Gd�d��}|�tt|����Gd�d��}|�tt|����Gd�d��}|�t|����d��Gd�dt��}|�t|d	����d��|�t|d	��d
��d��Gd�d��}|�t|����d��|�t
t|������t��|�t|����d��|�t
t|������t��dS)
Nc��eZdZd�ZdS)� BytesTest.test_custom.<locals>.Ac��dS�Nrrr#s rr>z*BytesTest.test_custom.<locals>.A.__bytes__����vrN�r%r&r'r>rrr�ArS�#������
�
�
�
�
rrXrc��eZdZdS)rSNr�rrrrXz BytesTest.test_custom.<locals>.As�������rc��eZdZd�ZdS)rSc��dSrrr#s rr>z*BytesTest.test_custom.<locals>.A.__bytes__	����trNrWrrrrXz BytesTest.test_custom.<locals>.As#������
�
�
�
�
rc��eZdZd�Zd�ZdS)rSc��dS)Nr0rr#s rr>z*BytesTest.test_custom.<locals>.A.__bytes__
r]rc��dSr�rr#s rr$z*BytesTest.test_custom.<locals>.A.__index__s���rrN)r%r&r'r>r$rrrrXz BytesTest.test_custom.<locals>.As2������
�
�
�
�
�
�
�
rr0c��eZdZd�ZdS)rSc��dSrUrr#s rr>z*BytesTest.test_custom.<locals>.A.__bytes__rVrNrWrrrrXz BytesTest.test_custom.<locals>.ArYru€z
iso8859-15��c��eZdZd�ZdS)rSc� �td��SrU)�OtherBytesSubclassr#s rr>z*BytesTest.test_custom.<locals>.A.__bytes__s��)�&�1�1�1rNrWrrrrXz BytesTest.test_custom.<locals>.As#������
2�
2�
2�
2�
2r)	r,r�rZr�r�r�r-rf�
BytesSubclass)r rXs  r�test_customzBytesTest.test_customsT��	�	�	�	�	�	�	�	�	
����q�q�s�s���V�,�,�,��
�
�
�
�
�
�
����)�U�A�A�C�C�0�0�0�	�	�	�	�	�	�	�	�	
���)�U�A�A�C�C�0�0�0�	�	�	�	�	�	�	�	�
	
����q�q�s�s���T�*�*�*�	�	�	�	�	��	�	�	�	
����q�q��{�{�+�+�V�4�4�4�����q�q��{�{�L�9�9�7�C�C�C�	2�	2�	2�	2�	2�	2�	2�	2�	
����q�q�s�s���V�,�,�,��
�
�d�5�����:�:�&�&�(:�;�;�;�����q�q�s�s�+�+�V�4�4�4��
�
�d�=�����-�-�.�.�
�>�>�>�>�>rc�,��tjd��}tjd��}ddlm}m}ddlm}m}m}m}m	}	m
}
m}|j}|f|_
||_|�|d��d��|�|dd��d	��|�|d
|d����d��|�|d
|t!d������d
��|�|d
|d����d��|�|d|d��|d��|	d����d��|�|d|d��|d��|	d����d��|�|d|d��|d��|	d����d��|�|d|d����d��|�|d|d ����d!��|�|d"|d#����d$��|�|��}
t$jd%krd&�d|
z����fd'�}nd(�}d)}|�|d*||����d+||��z�d,����|�|d-|d.����d/��|	d��j}d0||jt0fd0||jt0fd1||jt0fd1||jt0fd2||jt0fd3|
|jt0fd3|
|jt0fd4|	|t0fd5|||ff	D]M\}}}}|�||||����||���d,����f�N|�|d6d7��d7��|�|d8d9��d:��|�|d;��d<��|�|d=��d>��|�|d?|t!d@������dA��|�|dB��dC��|�|d<��d<��|�|dD|d��|d����dE��|�t@|dF|d����|�t@|dF|dG����|�|dH��dH��|�|dCdH��dH��dS)IN�ctypesr3r)�	pythonapi�	py_object)�c_int�c_uint�c_long�c_ulong�c_size_t�	c_ssize_t�c_char_psformats
Hello %s !r�s
Hello world !sc=%csc=�@sc=@r�sc=�sd=%d ld=%ld zd=%zdrCrWrms
d=1 ld=2 zd=3rOrRr�sd=-1 ld=-2 zd=-3su=%u lu=%lu zu=%zur�i�isu=123 lu=456 zu=789si=%isi=123i����si=-123sx=%xi�
sx=abc�ntz0x%0{}Xc����|zSrr)�ptr�
ptr_formats �r�
ptr_formatterz1BytesTest.test_from_format.<locals>.ptr_formatterUs���"�S�(�)rc��d|zS)Nz%#xr)rws rryz1BytesTest.test_from_format.<locals>.ptr_formatterYs���s�{�"ri�ͫsptr=%pzptr=r�ss=%sscstrss=cstrs%ds%lds%lus%zds%zus%ps%5sr0s%.3srrs%%�%s[%%]s[%]s%%%crns%_s%%ss%ssx=%i y=%sx=2 y=%r�r^r)!rr4rjrkrlrmrnrorprqrrrs�PyBytes_FromFormat�argtypes�restyper,r��sizeofrJ�name�formatr�r�INT_MINr��INT_MAX�LONG_MIN�LONG_MAX�	ULONG_MAX�PY_SSIZE_T_MIN�PY_SSIZE_T_MAXrZr�)r rjr3rkrlrmrnrorprqrrrsr|�
sizeof_ptrryrw�size_max�	formatstr�ctypes_typer�py_formatterrxs                     @r�test_from_formatzBytesTest.test_from_format"sa����,�X�6�6��!�/��<�<�	�/�/�/�/�/�/�/�/�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�'�9��'/�k��#�%.��"�	
���+�+�I�6�6�"�	$�	$�	$����+�+�M�8�D�D�)�	+�	+�	+�	
���+�+�G�U�U�1�X�X�>�>� �	"�	"�	"����+�+�G�U�U�3�s�8�8�_�_�E�E��	!�	!�	!����+�+�G�U�U�3�Z�Z�@�@�"�	$�	$�	$����+�+�,A�,1�E�!�H�H�f�f�Q�i�i�,4�H�Q�K�K�9�9�*�	+�	+�	+�	
���+�+�,A�,1�E�"�I�I�v�v�b�z�z�,4�H�R�L�L�:�:�-�	.�	.�	.�	
���+�+�,A�,2�F�3�K�K������,4�H�S�M�M�;�;�0�	1�	1�	1�	
���+�+�G�U�U�3�Z�Z�@�@�!�	#�	#�	#����+�+�G�U�U�4�[�[�A�A�"�	$�	$�	$����+�+�G�U�U�5�\�\�B�B�!�	#�	#�	#��]�]�8�,�,�
�
�7�d�?�?�"�)�)�!�j�.�9�9�J�
*�
*�
*�
*�
*�
*�
#�
#�
#������+�+�I�x�x��}�}�E�E� �=�=��#5�#5�5�=�=�g�F�F�	H�	H�	H����+�+�G�X�X�g�5F�5F�G�G�"�	$�	$�	$��8�B�<�<�%��
�E�9�,�c�2�
�E�9�,�c�2�
�V�Y�/��5�
�V�Y�/��5�
�W�i�1�3�7�
�Y�	� 8�#�>�
�Y�	� 8�#�>�
�X�x��-�
�H�h�
�6�
<
�	C�	C�7�I�{�E�<�
���/�/�	�;�;�u�;M�;M�N�N�)�\�%�0�0�7�7��@�@�
B�
B�
C�
C�
C�	
���+�+�F�D�9�9��	�	�	����+�+�G�Y�?�?��	!�	!�	!�	
���+�+�E�2�2��	�	�	����+�+�G�4�4��	!�	!�	!����+�+�G�U�U�3�s�8�8�_�_�E�E��	 �	 �	 ����+�+�F�3�3��	 �	 �	 �	
���+�+�D�1�1�4�8�8�8����+�+�K���q���5�5��8�8�L�L�#�	%�	%�	%�
	
���-�,�e�U�U�2�Y�Y�	@�	@�	@����-�,�e�U�U�3�Z�Z�	A�	A�	A�	
���+�+�C�0�0��	�	�	����+�+�E�3�7�7��	�	�	�	�	rc�0�Gd�dt��}gd�}|�t|��d��|�tt||����Gd�dt
��}|�td��d��|�tt|d����Gd	�d
t��}|�td��d��|�tt|d����Gd�d
t��}t
d��|d��}}|�t|��d��|�tt|��dS)Nc��eZdZdZdS)�7BytesTest.test_bytes_blocking.<locals>.IterationBlockedNrWrrr�IterationBlockedr����������I�I�Irr�)rrCrWrmsc��eZdZdZdS)�1BytesTest.test_bytes_blocking.<locals>.IntBlockedNrWrrr�
IntBlockedr��r�rr�rmsc��eZdZdZdS)�;BytesTest.test_bytes_blocking.<locals>.BytesSubclassBlockedNrWrrr�BytesSubclassBlockedr��r�rr�r3c��eZdZdZdS)�4BytesTest.test_bytes_blocking.<locals>.BufferBlockedNrWrrr�
BufferBlockedr��r�rr�)rrr,r�rZr�r7r�)r r�rfr�r�r��ba�bbs        r�test_bytes_blockingzBytesTest.test_bytes_blocking�s���	�	�	�	�	�t�	�	�	��L�L������q���#6�7�7�7����)�U�,<�,<�Q�,?�,?�@�@�@�
	�	�	�	�	��	�	�	�����q���9�-�-�-����)�U�J�J�q�M�M�:�:�:�	�	�	�	�	�5�	�	�	�����u���u�-�-�-����)�U�,@�,@��,G�,G�H�H�H�	�	�	�	�	�I�	�	�	��5�!�!�=�=��#7�#7�B������r���E�*�*�*����)�U�B�/�/�/�/�/rc�f�d}d}|�t|��t|����|�t|��t|����|�t|��t|dz����|�t|��t|dz����|�t|��t|dz����|�t|��td|z����|�t|��t|dz����Gd�dt��}|d	��}|�t|��t|����|�t|��t|dz����|�t|��t|dz����|�t|��t|dz����|�t|��td|z����|�t|��t|dz����dS)
Ns123abc1@s456zyx-+rXrrCrWc��eZdZdS)�5BytesTest.test_repeat_id_preserving.<locals>.SubBytesNr�rrr�SubBytesr��r�rr�sqwerty())r,�id�assertNotEqualr�)r r8r0r�r�s     r�test_repeat_id_preservingz#BytesTest.test_repeat_id_preserving�s/����������A����1���&�&�&����B�q�E�E�2�a�5�5�)�)�)����B�q�E�E�2�a�"�f�:�:�.�.�.����B�q�E�E�2�a�!�e�9�9�-�-�-�����A����1�q�5�	�	�*�*�*�����A����1�q�5�	�	�*�*�*����B�q�E�E�2�a�!�e�9�9�-�-�-�	�	�	�	�	�u�	�	�	�
�H�[�!�!������A����1���&�&�&����B�q�E�E�2�a�"�f�:�:�.�.�.����B�q�E�E�2�a�!�e�9�9�-�-�-����B�q�E�E�2�a�!�e�9�9�-�-�-����B�q�E�E�2�a�!�e�9�9�-�-�-����B�q�E�E�2�a�!�e�9�9�-�-�-�-�-rN)r%r&r'r�r+rArFrPrhr�r�r�rrrr9r9�s��������I�
@�
@�
@����:�:�:�
?�?�?�Bp�p�p�d0�0�0�<.�.�.�.�.rr9c�*�eZdZeZd�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"e#j$j%d���Z&d �Z'e#j(j)j*Z*d!�Z+d"�Z,d#�Z-d$S)%�
ByteArrayTestc��td��}d}|�t|��5|dddd��dS#1swxYwYdS)NrC�,bytearray indices must be integers or slicesr8�r�r�r�rDs   rrFz ByteArrayTest.test_getitem_error�s����i� � ��<��
�
#�
#�I�s�
3�
3�	�	�
�c�F�F�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�	A�A�
Ac��td��}d}|�t|��5d|d<ddd��dS#1swxYwYdS)NrCr��pythonr8r�rDs   r�test_setitem_errorz ByteArrayTest.test_setitem_error�s����i� � ��<��
�
#�
#�I�s�
3�
3�	�	��A�c�F�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�Ac�`�|�ttt����dSr)rZr��hashr�r#s r�test_nohashzByteArrayTest.test_nohash�s$�����)�T�9�;�;�7�7�7�7�7rc���d}|ddt|��z
zz}tj��}	t|d��5}|�|��ddd��n#1swxYwYt|d��5}td��}|�|��}ddd��n#1swxYwY|�|t|����|�t|��t|����t|d��5}|�|��ddd��n#1swxYwYt|d��5}|�|�	��|��ddd��n#1swxYwY	tj|��dS#t$rYdSwxYw#	tj|��w#t$rYwwxYwxYw)NsHello world
r���wbrH)
rY�tempfile�mktemprK�writer�rNr,rr�readrJ�remove�OSError)r �short_sampler��tfnr9r0�ns       r�test_bytearray_apiz ByteArrayTest.test_bytearray_api�s���'����r�C��,=�,=�'=� >�>���o����	��c�4���
&�A�����%�%�%�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&����
&�
&�
&�
&��c�4���
"�A��b�M�M���J�J�q�M�M��
"�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"����
"�
"�
"�
"�
���Q��L� 1� 1�2�2�2����T�!�W�W�d�6�l�l�3�3�3��c�4���
�A�����
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��c�4���
3�A�� � ������6�2�2�2�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3����
3�
3�
3�
3�
��	�#��������
�
�
����
�����
��	�#�������
�
�
���
������s��G�A!�G�!A%�%G�(A%�)G�<%B-�!G�-B1�1G�4B1�5A&G�D=�1G�=E�G�E�G�)F
�G�
F�G�F�G�F/�/
F=�<F=�G'�G�G'�
G$�!G'�#G$�$G'c��td��}|�|���d��|�|d��td��}|���|�|d��t��}|���|�|��dS)Nr�sollehshello1s1olleh)r�r,r�r�r/s  r�test_reversezByteArrayTest.test_reverse�s����h������������d�+�+�+�����H�%�%�%��i� � ��	�	�	��������I�&�&�&��K�K��	�	�	������������rc���td��}|���|�|d��td��}|���|�|d��td��}|�t	d����|���|�t	d����|�|d��dS)NrCr�rr�r�)r�r�r,r�r�r/s  r�
test_clearzByteArrayTest.test_clears����i� � ��	���	�	�	�����C� � � ��c�N�N��	���	�	�	�����C� � � ��c�N�N��	����S������	���	�	�	�	����S����������D�!�!�!�!�!rc�$�td��}|���}|�|d��td��}|���}|�|d��td��}|���}|�||��|�||��|�td����|�|d��|�|d��dS)Nrrr�r4)r�r5r,�assertIsNotr�r�)r r0r�s   rr:zByteArrayTest.test_copys����f����
�V�V�X�X������V�$�$�$��c�N�N��
�V�V�X�X������S�!�!�!�
�f����
�V�V�X�X������B��������B����
�	�	�#�c�(�(��������W�%�%�%�����F�#�#�#�#�#rc��d�}|d��}|�tjd|��|d��|d��g��dS)Nc�F�ttt|����Sr)r�r�r�)r�s rr�z&ByteArrayTest.test_regexps.<locals>.by"s���S��a�[�[�)�)�)rr�s\w+r�r�)r,�re�findallr�s   r�test_regexpszByteArrayTest.test_regexps!s]��	*�	*�	*��B�~���������G�Q�/�/�"�"�W�+�+�r�r�'�{�{�1K�L�L�L�L�Lrc��tgd���}d|d<|�|tgd�����d|d<|�|tgd�����td��|d	<|�|tgd
�����	d	|d<|�d��n#t$rYnwxYw	d	|d
<|�d��n#t$rYnwxYw	d|d	<|�d��n#t
$rYnwxYw	td��|d	<|�d��n#t
$rYnwxYw	d|d	<|�d��dS#t$rYdSwxYw)NrlrLrC)rCrLrmr&rO)rCrLr&rKr)rKrLr&rmzDidn't raise IndexErrori����r^zDidn't raise ValueErrorzDidn't raise TypeError)r�r,r�failr[r�r�r/s  r�test_setitemzByteArrayTest.test_setitem's����i�i�i� � ����!������I�k�k�k�2�2�3�3�3���"������I�m�m�m�4�4�5�5�5���}�}��!������I�n�n�n�5�5�6�6�6�	��A�a�D��I�I�/�0�0�0�0���	�	�	��D�	����	��A�c�F��I�I�/�0�0�0�0���	�	�	��D�	����	��A�a�D��I�I�/�0�0�0�0���	�	�	��D�	����	��R�=�=�A�a�D��I�I�/�0�0�0�0���	�	�	��D�	����	��A�a�D��I�I�.�/�/�/�/�/���	�	�	��D�D�	���sZ�B9�9
C�C�
C%�%
C2�1C2�6D�
D�D�"'E
�

E�E�E7�7
F�Fc	�^�ttd����}|d=|�|ttdd������|d=|�|ttdd������|d=|�|tgd�����dS)NrKrrCrOr�r�)rCrWrmr�rmr�r\)r�rqr,r/s  r�test_delitemzByteArrayTest.test_delitemIs����e�B�i�i� � ��
�a�D�����I�e�A�r�l�l�3�3�4�4�4�
�b�E�����I�e�A�q�k�k�2�2�3�3�3�
�a�D�����I�&;�&;�&;�<�<�=�=�=�=�=rc	��ttd����}|�t|��ttd������tgd���|dd�<|�|tgd�����|dd�=|�|tgd�����tgd���|dd�<|�|ttd������td	d
g��|dd�<|�|tgd
�����gd�|dd�<|�|ttd������gd�|dd�<|�|tgd�����d|dd�<|�|tgd�����t	d��|dd�<|�|tgd�����g|dd�<|�|tgd�����dddtd��ddddgddgggf	D];}|�t��5||dd�<ddd��n#1swxYwY�<gd�dd gfD];}|�t��5||dd�<ddd��n#1swxYwY�<dS)!NrK)rCrCrCrCrCrr�)
rCrCrCrCrCr�rmr�r\r�r�)r�rmr�r\r�)rrCrWrmr�rL�er�r�)rrCrWrLr�r�r\r�)rmr�r�rmrm)r_r_r_)
rrCrWr_r_r_rmr�r�rmr�r\r�r�)rrCrW�f�or�)r�r�r�r�r�r�r�)r�r�r�r�r�gP����KDr�gffffff@r8r0r0r1)r�r�r^i���i(#)	r�rqr,rrrMr7rZr�r�)r r0�elems   r�
test_setslicezByteArrayTest.test_setsliceRsw���e�B�i�i� � ������a���$�u�R�y�y�/�/�2�2�2��?�?�?�+�+��!�A�#������I�&D�&D�&D�E�E�F�F�F�
�a��d�G�����I�o�o�o�6�6�7�7�7��?�?�?�+�+��!�A�#������I�e�B�i�i�0�0�1�1�1��c�3�Z�(�(��"�R�%������I�&B�&B�&B�C�C�D�D�D�����!�A�#������I�e�B�i�i�0�0�1�1�1�����!�A�#������I�&P�&P�&P�Q�Q�R�R�R���!�"�"������I�&>�&>�&>�?�?�@�@�@��6�"�"��"�1�"������I�&D�&D�&D�E�E�F�F�F���!�A�#������I�&?�&?�&?�@�@�A�A�A���A�s�5�z�z�5�#��3�Z�$����t�5�	�	�D��"�"�9�-�-�
�
���!�A�#��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��%�_�_�t�T�l�3�	�	�D��"�"�:�.�.�
�
���!�A�#��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��	�	s$�1J�J		�J		�5K	�	K
	�K
	c	��ttd����}|�t|��ttd������|dd�=|�t|��ttdd������|�tdd����|�t|��ttdd������dS)NrLrK�n)r�rqr,rr�extendr/s  r�test_setslice_extendz"ByteArrayTest.test_setslice_extendzs����e�C�j�j�!�!������a���$�u�S�z�z�"2�"2�3�3�3�
�c�r�c�F�����a���$�u�R��~�~�"6�"6�7�7�7�	����s�C���!�!�!�����a���$�u�R��~�~�"6�"6�7�7�7�7�7rc�|�td��}|���|dd�=|td��z
}~dS)NrKrCrW)r��popr�r/s  r�test_fifo_overrunzByteArrayTest.test_fifo_overrun�s=��
�b�M�M��	������
�b�q�b�E�	�U�1�X�X�
��
�A�Arc��td��}tj|��}|dd�=|�tj|��|��dS)NrKrC)r�rF�	getsizeof�assertLessEqual)r r0r�s   r�test_del_expandzByteArrayTest.test_del_expand�sM���b�M�M���}�Q����
�b�q�b�E����S�]�1�-�-�t�4�4�4�4�4rc���ddddddddztjddd	d
f}|D]�}|D]�}|dd�D]�}ttd����}t	|��}||||�}|���|||||�<|||||�<|�|t	|����||||�=||||�=|�|t	|����������dS)NrrCrmr�r(iMrOrRr�i���r�)rFrGrrrqr�r�r,)r r�r�r�r�r�r0rEs        r�test_extended_set_del_slicez)ByteArrayTest.test_extended_set_del_slice�s&���d�A�q�"�c�1�c�6�3�;���C�����	6�	6�E��
6�
6��#�A�B�B�K�
6�
6�D��U�3�Z�Z�(�(�A�!�!���A��U�4��_�-�D��L�L�N�N�N�)-�A�e�D��o�&�)-�A�e�D��o�&��$�$�Q�	�!���5�5�5��%��T�/�*��%��T�/�*��$�$�Q�	�!���5�5�5�5�
6�
6�	6�	6rc��ttd����}||dd�<|�|tttd����ttd����z����dS)Nr^r\)r�rqr,rrr/s  r�test_setslice_trapz ByteArrayTest.test_setslice_trap�sg��
�e�C�j�j�!�!����!�"�"������I�d�5��8�8�n�n�t�E�#�J�J�7G�7G�&G�H�H�I�I�I�I�Irc�D�td��}|}|dz
}|�|d��|�||��|�||��|dz
}|�|d��	|dz
}|�d��dS#t$rYdSwxYw)Nrrrrs	abcdefxyzrz'bytes += unicode didn't raise TypeError)r�r,r�r�r��r r0r�s   r�test_iconcatzByteArrayTest.test_iconcat�s����f����
��	�V�������I�&�&�&�����B�����
�
�a�����	�V�������L�)�)�)�	A�
��G�A�
�I�I�?�@�@�@�@�@���	�	�	��D�D�	���s�5B�
B�Bc��td��}|}|dz}|�|d��|�||��|�||��dS)Nrrmr�r�r,r�r�s   r�test_irepeatzByteArrayTest.test_irepeat�sc���f����
��	�Q�������L�)�)�)�����B�����
�
�a������rc��td��}|}|dz}|�|d��|�||��|�||��dS)Nr"rLsdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr�r�s   r�test_irepeat_1charz ByteArrayTest.test_irepeat_1char�sa���d�O�O��
��	�S�������H�%�%�%�����B�����
�
�a������rc�J�t��}|���}|�|d��|g}td��D]W}|dz
}|���}|�|t|����||vr|�|���XdS)NrrLr")r��	__alloc__�assertGreaterEqualrq�
assertGreaterrYr�)r r0�allocryrfs     r�
test_alloczByteArrayTest.test_alloc�s����K�K�����
�
������q�)�)�)��g���s���	"�	"�A�
��I�A��K�K�M�M�E����u�c�!�f�f�-�-�-��C����
�
�5�!�!�!��	"�	"rc	����t�����fd�}��|������t���tt	dd��������t���d������}��|t�����dS)Nc3���K�tdd��D]�}|V�t���}��|ttdt|��dz��������t���t|������t���|������}��|t�������dS)NrCrL)rqrrr,rYr�r�r�)rfr8r�r0r s   ��r�gz(ByteArrayTest.test_init_alloc.<locals>.g�s�������1�c�]�]�
2�
2��������G�G��� � ��D��q�#�a�&�&��(�);�);�$<�$<�=�=�=�� � ��Q����Q���0�0�0��$�$�S��V�V�Q�/�/�/����
�
���"�"�5�#�a�&�&�1�1�1�1�
2�
2rrCrL�c)r�r!r,rrrqrYr�r�)r r�r�r0s`  @r�test_init_alloczByteArrayTest.test_init_alloc�s������K�K��	2�	2�	2�	2�	2�	2�	
�
�
�1�1�3�3��������a���$�u�Q��}�}�"5�"5�6�6�6�����Q����$�$�$����
�
�����5�#�a�&�&�)�)�)�)�)rc	�x�d}t|��}|�|��|�|||z��|�|dd�|��td��}|�tt|dz����|�d�|dzD����|�||dz��|�|dd�|��td��}|�ttt|dz������|�||dz��|�|dd�|��td��}|�t
tt|dz������|�||dz��|�|dd�|��td��}|�t|jgd���|�t|jgd	���|�t|��d
��td��}|�ttd����g��|�|d��dS)
Nr�r�r�c3�4K�|]}t|��V��dSr)r7ris  rrgz,ByteArrayTest.test_extend.<locals>.<genexpr>�s(����+�+�A��Q���+�+�+�+�+�+r�2r�)rrCrWr^)rrCrWrOrr8r0)r�r�r,r�r7rurrrZr�rYrr�)r r�r8s   r�test_extendzByteArrayTest.test_extend�sd�����d�O�O��	�����������D�4�K�(�(�(�����1�2�2���%�%�%��c�N�N��	����S�$��)�$�$�%�%�%�	���+�+����+�+�+�+�+�+�����D�2�I�&�&�&�����2�3�3���&�&�&��c�N�N��	����c�#�t�b�y�)�)�*�*�+�+�+�����D�2�I�&�&�&�����2�3�3���&�&�&��c�N�N��	����c�#�t�b�y�)�)�*�*�+�+�+�����D�2�I�&�&�&�����2�3�3���&�&�&��c�N�N�����*�a�h����?�?�?����*�a�h�
�
�
�>�>�>�����Q����#�#�#��c�N�N��	���)�C��H�H�%�%�&�'�'�'�����D�!�!�!�!�!rc�>��td�����td����|��d����td����|��d��|�t
�fd���|�t
�fd���|�t�fd�����td������td	����|��d
��|�t�fd�����ttd������|��d
��tgd���}|�d��|�|tgd�����|�d��|�|tddg����dS)Nr�rshelosheoc�H����td����S)Nr)r�r�r>s�rr?z+ByteArrayTest.test_remove.<locals>.<lambda>s���a�h�h�s�3�x�x�.@�.@�rc�.����d��S)Ni��r�r>s�rr?z+ByteArrayTest.test_remove.<locals>.<lambda>s���a�h�h�s�m�m�rc�.����d��S)Nr+rr>s�rr?z+ByteArrayTest.test_remove.<locals>.<lambda>s���Q�X�X�c�]�]�rrrr,c�.����d��S)Nr,rr>s�rr?z+ByteArrayTest.test_remove.<locals>.<lambda>����Q�X�X�d�^�^�rr+r)�~rrh�r)rrhrrrrh)	r�r�r�r,rZr�r�rr�rs  @r�test_removezByteArrayTest.test_removes�����h����	����S����������G�$�$�$�	����S����������F�#�#�#����*�&@�&@�&@�&@�A�A�A����*�&;�&;�&;�&;�<�<�<����)�%:�%:�%:�%:�;�;�;�	����S������	����S����������D�!�!�!����)�%;�%;�%;�%;�<�<�<�	����3�s�8�8�$�$�%�%�%�����C� � � �
�*�*�*�+�+��	����
�
�
�����E�/�/�/�2�2�3�3�3�	����
�
�
�����E�3��*�-�-�.�.�.�.�.rc�F��td���|�����td����|���d��td����|���d��td����|�t
�fd���|�t
d���|�td	�����d
��dS)Nr�r�rr�rRr�c�.����d��S)NrK)r�r>s�rr?z(ByteArrayTest.test_pop.<locals>.<lambda>%s���a�e�e�B�i�i�rc�B�t�����Sr)r�r�rrrr?z(ByteArrayTest.test_pop.<locals>.<lambda>&s��i�k�k�o�o�.?�.?�rrTr�)r�r,r�r�rZr[r/s @r�test_popzByteArrayTest.test_pop s�����h������������#�c�(�(�+�+�+�������q���3�s�8�8�,�,�,�������r���C��H�H�-�-�-����*�&7�&7�&7�&7�8�8�8����*�&?�&?�@�@�@�����7�+�+�/�/�1�1�4�8�8�8�8�8rc�>�|�td���dS)Nc�B�t�����Sr)r��sortrrrr?z+ByteArrayTest.test_nosort.<locals>.<lambda>+s��)�+�+�2B�2B�2D�2D�r)rZ�AttributeErrorr#s r�test_nosortzByteArrayTest.test_nosort*s"�����.�*D�*D�E�E�E�E�Erc�p��td�����td����|��d��|���d��d��t�����td����|�t	���d��|�t�fd���t�����ttd������|��d��dS)	Nshellrr�rLrXrCc�.����d��S)Nr�)r�r>s�rr?z+ByteArrayTest.test_append.<locals>.<lambda>5rr�A)r�r�r�r,rYrZr�rr/s @r�test_appendzByteArrayTest.test_append-s����g����	����S����������H�%�%�%�������#����-�-�-��K�K��	����S����������Q����#�#�#����)�%;�%;�%;�%;�<�<�<��K�K��	����3�s�8�8�$�$�%�%�%�����D�!�!�!�!�!rc�N��td�����dtd������dtd������dtd������dtd����|��d��|�t
�fd���t�����d	t
td
������|��d��dS)NsmsssspprCrfr�rRr�r}c�0����dd��S)Nr�1)�insertr>s�rr?z+ByteArrayTest.test_insert.<locals>.<lambda>As���Q�X�X�a��->�->�rrrXr)r�rr�r,rZr�rr/s @r�test_insertzByteArrayTest.test_insert:s�����j�!�!��	����C��H�H����	����C��H�H����	����S��X�X����	����s�3�x�x� � � �����N�+�+�+����)�%>�%>�%>�%>�?�?�?��K�K��	����I�c�#�h�h�'�'�(�(�(�����D�!�!�!�!�!rc�6�td��}|�||�ddd����td�td��D����}td��}|�||�|����dS)Nrscderc��g|]}|��Srrrds  rrz-ByteArrayTest.test_copied.<locals>.<listcomp>Ls��-�-�-�Q�q�-�-�-rr^r)r�r�r�rqr.)r r0�tr#s    r�test_copiedzByteArrayTest.test_copiedFs���
�f��������A�I�I�f�f�a�8�8�9�9�9��-�-�%��*�*�-�-�-�.�.���c�N�N������A�K�K��N�N�+�+�+�+�+rc�Z�td���d��\}}}|�|d��|�|d��|�||��|dz
}|�|d��td���d��\}}}|�|d��|�|d��td���d��\}}}|�|d��|�|d��|�||��|dz
}|�|d��td���d��\}}}|�|d��|�|d��dS)Nr"�yr�!)r�r�r,r�r�)r r8r0rs    r�0test_partition_bytearray_doesnt_share_nullstringz>ByteArrayTest.test_partition_bytearray_doesnt_share_nullstringPs����D�/�/�+�+�D�1�1���1�a�����C� � � �����C� � � �����A����	�T�	������C� � � ��D�/�/�+�+�D�1�1���1�a�����C� � � �����C� � � ��D�/�/�,�,�T�2�2���1�a�����C� � � �����C� � � �����A����	�T�	������C� � � ��D�/�/�,�,�T�2�2���1�a�����C� � � �����C� � � � � rc�~��ttd�����t���}�fd�}|d���dd�}|�t|d��|��|��|�t|d��|��|��|�t|d��|��|��|�t�jd��|��|��|�t�j�d��|��|���fd�}|�t|��|��|���fd�}|�t|��|��|��dS)	NrKc�D��t|dzd|zdz
���dd�<dS)NrCrWrO)rq)r�r0s �r�resizez3ByteArrayTest.test_resize_forbidden.<locals>.resizels*����A��E�1�Q�3��7�+�+�A�a��d�G�G�Gr�r�rrCc����d=dSrBrr>s�r�delitemz4ByteArrayTest.test_resize_forbidden.<locals>.delitem{s����!���rc���d�ddd�<dS)NrrCrOrWrr>s�r�delslicez5ByteArrayTest.test_resize_forbidden.<locals>.delslice�s����A�a��1�f�I�I�Ir)r�rqrMrZ�BufferErrorr,r�r�)r �vr#r�r&r(r0s      @r�test_resize_forbiddenz#ByteArrayTest.test_resize_forbiddenes����

�e�B�i�i� � ���q�M�M��	,�	,�	,�	,�	,���r�
�
�
�����t�����+�v�r�2�2�2�����D�!�!�!����+�v�q�1�1�1�����D�!�!�!����+�v�q�1�1�1�����D�!�!�!����+�q�u�a�0�0�0�����D�!�!�!����+�q�x��1��6�6�6�����D�!�!�!�	�	�	�	�	����+�w�/�/�/�����D�!�!�!�	�	�	�	�	����+�x�0�0�0�����D�!�!�!�!�!rc��tjd��}|�t|jt����dS)Nr3)rr4rZr)�getbuffer_with_null_viewr�)r r3s  r�test_obsolete_write_lockz&ByteArrayTest.test_obsolete_write_lock�s7��!�/��<�<�	����+�y�'I�9�;�;�W�W�W�W�Wrc�z�td��}td��}ttjdz��D�]~}t|��}tj||f|��}tj|��\}}||dd�<|�t|��t|����|�t|��|��t|��tj||f|��}tj|��\}}||dd�<|�t|��t|����|�t|��|dd���tdt|����D]}t|���tj||f|��}tj|��\}}||dd�<|�t|��t|����|�t|��|t|��d���|�tt|��tj||f|��}tj|��\}}||dd�<|�t|��g�����dS)NrsqwertyrC)r�rrrqr�r�rur�r�r,r-r�rYrZ�
StopIteration)	r r�rEr��itorigr�r�r0rfs	         r�test_iterator_pickling2z%ByteArrayTest.test_iterator_pickling2�s_���� � ���I�����6�2�Q�6�7�7�	+�	+�E��$�Z�Z�F���f�d�^�U�3�3�A��L��O�O�E�B���A�a�a�a�D����T�"�X�X�t�F�|�|�4�4�4����T�"�X�X�t�,�,�,�
��L�L�L���f�d�^�U�3�3�A��L��O�O�E�B���A�a�a�a�D����T�"�X�X�t�F�|�|�4�4�4����T�"�X�X�t�A�B�B�x�0�0�0��1�c�$�i�i�(�(�
�
���V�������f�d�^�U�3�3�A��L��O�O�E�B���A�a�a�a�D����T�"�X�X�t�F�|�|�4�4�4����T�"�X�X�t�C��I�I�J�J�'7�8�8�8�
���m�T�6�:�:�:���f�d�^�U�3�3�A��L��O�O�E�B���A�a�a�a�D����T�"�X�X�r�*�*�*�*�?	+�	+rc���td��}t|��}t|��|���|�t|��g��dS)Nr3)r�rur�r�r,rr)r r�r�s   r�test_iterator_length_hintz'ByteArrayTest.test_iterator_length_hint�sT��
�u�
�
��
�"�X�X���R����
���
�
�
�����b���2�&�&�&�&�&rc���td��}d|dd�<|dz}|dz}|�|d��|�||��|�|d��dS)Nrr"rWrCrmsxcsxcxcxc�r�r,)r r0r�r�s    r�test_repeat_after_setslicez(ByteArrayTest.test_repeat_after_setslice�sv���f������"�1�"��
��U��
��U������U�#�#�#�����Q��������Y�'�'�'�'�'rc�`��G�fd�d��}|�d��5td���|�t��5|���d<ddd��n#1swxYwYddd��n#1swxYwY|�d��5t	jd��}td���|�t��5|��d|����ddd��n#1swxYwYddd��dS#1swxYwYdS)Nc���eZdZ�fd�ZdS)�/ByteArrayTest.test_mutating_index.<locals>.Boomc�0������dSr=r�r/s �rr$z9ByteArrayTest.test_mutating_index.<locals>.Boom.__index__�s������	�	�	��qrNr�r>s�r�Boomr:�s.�������
�
�
�
�
�
�
rr<�
tp_as_mappingsNow you see me...r�tp_as_sequencer3)�subTestr�rZr[rr4�sequence_setitem)r r<r3r0s   @r�test_mutating_indexz!ByteArrayTest.test_mutating_index�sB���	�	�	�	�	�	�	�	�	�	�
�\�\�/�
*�
*�	�	��.�/�/�A��"�"�:�.�.�
�
��t�v�v��!��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�\�\�*�
+�
+�	9�	9�%�3�K�@�@�I��.�/�/�A��"�"�:�.�.�
9�
9��*�*�1�a�����8�8�8�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9����
9�
9�
9�
9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�	9�	9sk�*B�A*�B�*A.	�.B�1A.	�2B�B�B�!>D#� D�?D#�D	�D#�D	�D#�#D'�*D'N).r%r&r'r�r+rFr�r�r�r�r�r:r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
rrrrr r+r&r'�cpython_onlyr.r2�
list_tests�
CommonTest�test_exhausted_iteratorr4r7rArrrr�r��s[�������I�������8�8�8����4	�	�	�
"�
"�
"�$�$�$�$M�M�M� � � �D>�>�>�&�&�&�P8�8�8����5�5�5�6�6�6�*J�J�J�A�A�A� ������
"�
"�
"�*�*�*�""�"�"�8/�/�/�09�9�9�F�F�F�"�"�"�
"�
"�
"�,�,�,�!�!�!�*"�"�"�@
�\��X�X���X�"+�"+�"+�H#�o�8�P��'�'�'�(�(�(�9�9�9�9�9rr�c���eZdZed���Zed���Zd�Zejj	d���Z
d�Zed���Zd�Z
d�Zd	�Zd
�Zejejjd��d���Zd
S)�AssortedBytesTestc	���ttfD]�}|�|t����d��|�|tdg����d��|�|tgd�����d��|�|d��d��|�|d��d	��|�|d
��d����dS)N�bytearray(b'')rzbytearray(b'\x00')r�zbytearray(b'\x00\x01\xfe\xff')rzb'abc'�'zb"'"s'"zb'\'"')r��reprr,r�)r r9s  r�
test_repr_strzAssortedBytesTest.test_repr_str�s���d��	7�	7�A����Q�Q�y�{�{�^�^�-=�>�>�>����Q�Q�y�!��~�~�.�.�0E�F�F�F����Q�Q�y�)9�)9�)9�:�:�;�;�A�
C�
C�
C����Q�Q�v�Y�Y��1�1�1����Q�Q�t�W�W�j�1�1�1����Q�Q�v�Y�Y�
�6�6�6�6�	7�	7rc
���dtd��fD]�}|�t|��t|����|�t|d��t|����|�t
dt
jt|��j	��z��5t|d��ddd��n#1swxYwY��dS)Nrrz\b%s\br�)
r�r,r�r�r�r�r��escaper-r%r/s  r�test_formatzAssortedBytesTest.test_format�s����6�*�*�*�	�	�A����V�A�Y�Y��A���/�/�/����V�A�r�]�]�C��F�F�3�3�3��'�'�	�(1�B�I�d�1�g�g�>N�4O�4O�(O�Q�Q�
�
��q�#����
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��	�	s�7C�C	�C	c�V�|�dtd��kd��|�dtd��kd��|�dtd��kd��|�dtd��kd��|�dtd��kd��|�dtd��kd��|�dtd��kd��|�dtd��kd��|�dtd��kd��|�dtd��kd��|�dtd��kd��|�dtd��kd��|�td��dkd��|�td��dkd��|�td��dkd��|�td��dkd��|�td��dkd��|�td��dkd��|�td��dkd��|�td��dkd��|�td��dkd��|�td��dkd��|�td��dkd��|�td��dkd��dS)NrTr3Fr�r#s r�test_compare_bytes_to_bytearrayz1AssortedBytesTest.test_compare_bytes_to_bytearray�s ������5��=�=�0�$�7�7�7�����%��-�-�/��6�6�6�����%��-�-�/��6�6�6������v���.��5�5�5�����5��<�<�/��6�6�6�����%��,�,�.��5�5�5�����5��=�=�0�%�8�8�8�����%��-�-�/��7�7�7������v���.��6�6�6�����%��-�-�/��7�7�7�����%��,�,�.��6�6�6�����5��<�<�/��7�7�7�����v���&�0�$�7�7�7�����u����/��6�6�6�����u����/��6�6�6�����u����.��5�5�5�����v���%�/��6�6�6�����v����.��5�5�5�����v���&�0�%�8�8�8�����u����/��7�7�7�����u����.��6�6�6�����u����/��7�7�7�����v����.��6�6�6�����v���%�/��7�7�7�7�7rc�v�|�tj��|�tj�d��tj��|�t
j��|�t
j�d��t
j��dS)Nz
bytearray(zbytes()�assertIsNotNoner��__doc__r�r�r�r#s r�test_doczAssortedBytesTest.test_docs������Y�.�/�/�/����	�)�4�4�\�B�B�I�DU�V�V�V����U�]�+�+�+�����
�0�0��:�:�E�M�J�J�J�J�Jrc��td��}t|��}t|��}|�|t|����dS)NsHello world
����)r�rMr�r,)r r��bufr0s    r�test_from_bytearrayz%AssortedBytesTest.test_from_bytearraysL���7�8�8���� � ���c�N�N������I�f�-�-�.�.�.�.�.rc��|�td��d��|�td��d��|�td��d��|�ttd����d��|�ttd����d��|�ttd����d	��dS)
Nrzb''r"zb'x'rUzb'\x80'rIzbytearray(b'x')zbytearray(b'\x80'))r,r�r�r#s r�test_to_strzAssortedBytesTest.test_to_strs�������S���5�)�)�)�����T���F�+�+�+�����W���z�2�2�2�����Y�s�^�^�,�,�.>�?�?�?�����Y�t�_�_�-�-�/@�A�A�A�����Y�w�/�/�0�0�2G�H�H�H�H�Hrc	���gd�}|D])\}}|�|t|d�����*tdd��D]3}|�tt
dt
|��z���4dS)N))sWonderful spamzWonderful spam)sWonderful spam toozWonderful spam too)s��uª€)s\xaa\x00\000\200z\xaa\x00\000\200r�rhr^zb"%s")r,r�rqrZ�SyntaxError�evalr])r �testsr0r�rs     r�test_literalzAssortedBytesTest.test_literal!s���
�
�
���	9�	9�D�A�q����Q�	�!�Y� 7� 7�8�8�8�8��s�C���	0�	0�A����k�4�%��A���.�
0�
0�
0�
0�	0�	0rc�v�|�d�td����ddg��dS�Nr�rtr0r1)r,r�rMr#s r�test_split_bytearrayz&AssortedBytesTest.test_split_bytearray.s6��������j��&6�&6�7�7�$���F�F�F�F�Frc�v�|�d�td����ddg��dSra)r,r�rMr#s r�test_rsplit_bytearrayz'AssortedBytesTest.test_rsplit_bytearray1s6��������z�$�'7�'7�8�8�4��,�G�G�G�G�Grc�v�t��}|�|�dd��|��dS)Nr)r�r�r�r/s  r�test_return_selfz"AssortedBytesTest.test_return_self4s5���K�K��������3��,�,�a�0�0�0�0�0rz4BytesWarning is needed for this test: use -bb optionc�6�d�}|��5ddkddd��n#1swxYwY|��5ddkddd��n#1swxYwY|��5ddkddd��n#1swxYwY|��5ddkddd��n#1swxYwY|��5td��dkddd��n#1swxYwY|��5dtd��kddd��n#1swxYwY|��5td��dkddd��n#1swxYwY|��5dtd��kddd��n#1swxYwY|��5ddkddd��n#1swxYwY|��5ddkddd��n#1swxYwY|��5ddkddd��n#1swxYwY|��5ddkddd��dS#1swxYwYdS)Nc�8�tjdtf��Sr
rrrr�
bytes_warningz5AssortedBytesTest.test_compare.<locals>.bytes_warning<s��"�1�2�|�2D�E�E�Errrr�r�r�)r ris  rr�zAssortedBytesTest.test_compare9s;��	F�	F�	F�
�]�_�_�	�	��2�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�]�_�_�	�	��#�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�]�_�_�	�	��2�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�]�_�_�	�	��#�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�]�_�_�	!�	!��c�N�N�b� � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�
�]�_�_�	!�	!��)�C�.�.� � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�
�]�_�_�	!�	!��c�N�N�b� � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�
�]�_�_�	!�	!��)�C�.�.� � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�
�]�_�_�	�	��Q�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�]�_�_�	�	�
��J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�]�_�_�	�	��Q�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�]�_�_�	�	�
��J�J�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s��!�%�%�A	�	A
�A
�A1�1A5�8A5�B�B� B�.C�C�C�#D�D�
D�D8�8D<�?D<�
E-�-E1�4E1�F�F�F�*F=�=G�G�G%�%G)�,G)�:H�H�HN)r%r&r'rrLrOrQr&r'�requires_docstringsrUrXrZr_rbrdrf�unittest�
skipUnlessrF�flagsrir�rrrrGrG�s*������
�7�7���7�������8�8�8�:
�\�%�K�K�&�%�K�/�/�/��I�I���I�0�0�0�G�G�G�H�H�H�1�1�1�
�X����0�O�Q�Q���Q�Q���rrGc��eZdZd�Zd�ZdS)�BytearrayPEP3137Testc� �t|��Srrj)r r#s  r�marshalzBytearrayPEP3137Test.marshalgs����|�|�rc��|�d��}dD]M}t||��}|d��}|�||��|�|||dz���NdD]A}t	|��}|�||��|�|||dz���B|�d��}|�|g��}|�||��|�||��dS)Ns1234)�zfillr
rrrmz" returned self on a mutable object)zval.split()[0]zval.rsplit()[0]zval.partition(b".")[0]zval.rpartition(b".")[2]zval.splitlines()[0]zval.replace(b"", b"")z! returned val on a mutable objectr)rr�getattrr,r�r]rv)r �val�methnamer!�newval�expr�seps       r�test_returns_new_copyz*BytearrayPEP3137Test.test_returns_new_copyjs?���l�l�7�#�#��>�	K�	K�H��S�(�+�+�F��V�A�Y�Y�F����S�&�)�)�)����S�&�$�%I�I�
K�
K�
K�
K�E�	F�	F�D��$�Z�Z�F����S�&�)�)�)����S�&� �!D�D�
F�
F�
F�
F��l�l�3�������3�%��������f�%�%�%�����f�%�%�%�%�%rN)r%r&r'rrr{rrrrprpfs2���������&�&�&�&�&rrpc�"��eZdZ�fd�ZdZ�xZS)�FixedStringTestc���t|t��r(|�|�d����St	���|��S)Nr�)�
isinstancer�r+r��super�fixtype)r r6r.s  �rr�zFixedStringTest.fixtype�sI����c�3���	7��>�>�#�*�*�W�"5�"5�6�6�6��w�w���s�#�#�#rT)r%r&r'r��contains_bytes�
__classcell__)r.s@rr}r}�s3�������$�$�$�$�$�
�N�N�N�N�Nrr}c��eZdZeZdS)�ByteArrayAsStringTestN)r%r&r'r�r+rrrr�r��s�������I�I�Irr�c��eZdZeZdS)�BytesAsStringTestN)r%r&r'r�r+rrrr�r��s�������I�I�Irr�c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�SubclassTestc�V�|�t|j|j����|�|���|j��d\}}|�|��|�|��}}|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||��|�||z||z��|�||z||z��|�||z||z��|�|dz|dzk��dS)N)r4�efghr�)r��
issubclassr+�basetyper/r�r,)r r8r0�_a�_bs     r�
test_basiczSubclassTest.test_basic�s������
�4�>�4�=�A�A�B�B�B����d�n�n�.�.��
�>�>�>����1�����"�"�D�N�N�1�$5�$5�B��	
����b��!�!�!�����b��!�!�!�����R�� � � �����b��!�!�!�����b��!�!�!�����R�� � � �����Q����	
����Q���R��(�(�(�����Q���B��'�'�'�����Q���Q��'�'�'�	
����!��r�!�t��$�$�$�$�$rc��|�d��}|����|g��}|�||��|�t|��|jt|����|�dg��}|�t|��|j��dSr3)r+r�rvr�r�r-)r �s1�s2�s3s    rr{zSubclassTest.test_join�s����^�^�G�
$�
$��
�]�]�_�_�
!�
!�2�$�
'�
'������R� � � ��
�
�d�2�h�h��
�t�B�x�x�8�8�8��W�W�g�Y�
�
���
�
�d�2�h�h��
�.�.�.�.�.rc�(�|�d��}d|_|�d��|_ttjdz��D�]=}t	jt	j||����}|�t|��t|����|�
||��|�
|j|j��|�
|j|j��|�
t|��t|����|�
t|j��t|j����|�t|d������?dS)Nr4rKr�rC�y)r+r#�zrqr�r�r�r�r�r�r,r-r��hasattr)r r8r�r0s    r�test_picklezSubclassTest.test_pickle�sD���N�N�7�#�#������n�n�W�%�%����6�2�Q�6�7�7�	.�	.�E���V�\�!�U�3�3�4�4�A�����1���r�!�u�u�-�-�-����Q��"�"�"����Q�S�!�#�&�&�&����Q�S�!�#�&�&�&����T�!�W�W�d�1�g�g�.�.�.����T�!�#�Y�Y��Q�S�	�	�2�2�2����W�Q��_�_�-�-�-�-�	.�	.rc���|�d��}d|_|�d��|_tjtjfD�]!}||��}|�t
|��t
|����|�||��|�|j|j��|�|j|j��|�t|��t|����|�t|j��t|j����|�	t|d������#dS)Nr4rKr�r�)r+r#r�r5r6r�r�r,r-r�r�r7s    rr:zSubclassTest.test_copy�s/���N�N�7�#�#������n�n�W�%�%��� �I�t�}�5�	.�	.�K���A���A�����1���r�!�u�u�-�-�-����Q��"�"�"����Q�S�!�#�&�&�&����Q�S�!�#�&�&�&����T�!�W�W�d�1�g�g�.�.�.����T�!�#�Y�Y��Q�S�	�	�2�2�2����W�Q��_�_�-�-�-�-�	.�	.rc����j�d��}��|d����t	|���j��G�fd�d�j��}|�d��}��|d����t	|��|����|jd��G�fd�d�j��}|�d��}��|d����t	|��|����|jd��dS)Nr?rKc���eZdZ�fd�ZdS)�%SubclassTest.test_fromhex.<locals>.B1c�L���j�||��}d|_|S�Nr@)r��__new__r?)�clsr�mer s   �rr�z-SubclassTest.test_fromhex.<locals>.B1.__new__�s&����]�*�*�3��6�6������	rN)r%r&r'r�r#s�r�B1r��r�rr�r@c���eZdZ�fd�ZdS)�%SubclassTest.test_fromhex.<locals>.B2c�^���jtur�jj|g|�Ri|��d|_dSr�)r�r�r!r?)r�r�kwargsr s   �rr!z.SubclassTest.test_fromhex.<locals>.B2.__init__�s@����=��-�-�*�D�M�*�2�?��?�?�?��?�?�?�����rN�r%r&r'r!r#s�r�B2r��s.�������
�
�
�
�
�
�
rr�)r+rCr,r�r-r�r?)r r0r�r�s`   rrHzSubclassTest.test_fromhex�sr����N�"�"�8�,�,������O�,�,�,��
�
�d�1�g�g�t�~�.�.�.�	�	�	�	�	�	�	���	�	�	�
�J�J�x� � ������O�,�,�,��
�
�d�1�g�g�r�"�"�"�������&�&�&�	�	�	�	�	�	�	���	�	�	�
�J�J�x� � ������O�,�,�,��
�
�d�1�g�g�r�"�"�"�������&�&�&�&�&rN)r%r&r'r�r{r�r:rHrrrr�r��s_������%�%�%�0/�/�/�.�.�.�.�.�.�'�'�'�'�'rr�c��eZdZdS)�ByteArraySubclassNr�rrrr�r����������Drr�c��eZdZdZdS)�ByteArraySubclassWithSlots)r#r��__dict__N)r%r&r'�	__slots__rrrr�r��s������&�I�I�Irr�c��eZdZdS)rgNr�rrrrgrg�r�rrgc��eZdZdS)rfNr�rrrrfrf�r�rrfc��eZdZeZeZd�ZdS)�ByteArraySubclassTestc���Gd�dt��}|dd��}|dd���}|�|d��|dd���}|�|d��dS)Nc��eZdZdd�ZdS)�:ByteArraySubclassTest.test_init_override.<locals>.subclassrCc�0�tj|g|�Ri|��dSr)r�r!)r��newargrr�s    rr!zCByteArraySubclassTest.test_init_override.<locals>.subclass.__init__s)���"�2�7��7�7�7��7�7�7�7�7rNrr�rrr�subclassr�s(������
8�
8�
8�
8�
8�
8rr�r�r4)�source)r�r�r6)r r�r#s   r�test_init_overridez(ByteArraySubclassTest.test_init_override�s���	8�	8�	8�	8�	8�y�	8�	8�	8�
�H�Q�� � ���H�Q�w�'�'�'������G�$�$�$��H�A�g�.�.�.������G�$�$�$�$�$rN)r%r&r'r�r�r�r+r�rrrr�r��s-�������H�!�I�%�%�%�%�%rr�c��eZdZeZeZdS)�ByteArraySubclassWithSlotsTestN)r%r&r'r�r�r�r+rrrr�r�	s�������H�*�I�I�Irr�c��eZdZeZeZdS)�BytesSubclassTestN)r%r&r'r�r�rgr+rrrr�r�
s�������H��I�I�Irr��__main__)0rTr�rJr�rFr5rr�r�rrl�test.supportr&rr�test.string_tests�test.list_testsrr�test.support.script_helperrrnrirrr)�TestCaser9r�rGrp�string_tests�BaseTestr}r�r�r�r�r�r�r�rgrfr�r�r�r%�mainrrr�<module>r�s`����
����	�	�	�	�	�	�	�	�
�
�
�
���������
�
�
�
�����������������&�&�&�&�&�&�(�(�(�(�(�(���������9�9�9�9�9�9�9�9�<�<�<�<�<�<��9��
����������������uA�uA�uA�uA�uA�uA�uA�uA�p_.�_.�_.�_.�_.�
�x�0�_.�_.�_.�DI9�I9�I9�I9�I9�M�8�#4�I9�I9�I9�X@�@�@�@�@��)�@�@�@�b&�&�&�&�&�8�,�&�&�&�6�����d�'�0���������O�X�->�����������):����\'�\'�\'�\'�\'�\'�\'�\'�~	�	�	�	�	�	�	�	�	�'�'�'�'�'��'�'�'�	�	�	�	�	�E�	�	�	�	�	�	�	�	��	�	�	�%�%�%�%�%�L�(�*;�%�%�%�+�+�+�+�+�\�8�3D�+�+�+�������h�&7����
�z����H�M�O�O�O�O�O��r