Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_bytes.cpython-39.pyc

a

��g�*�@s�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddl
ZddlZddlmZmZddlmZejjr�dd�Zndd�ZGdd	�d	�ZGd
d�d�ZGdd
�d
ee
j�ZGdd�dee
j�ZGdd�de
j�ZGdd�de
j�ZGdd�dejj�ZGdd�dee
j�Z Gdd�dee
j�Z!Gdd�d�Z"Gdd�de#�Z$Gdd�de%�Z&Gd d!�d!e%�Z'Gd"d#�d#e"e
j�Z(Gd$d%�d%e"e
j�Z)e*d&k�r�e
�+�dS)'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)�bigaddrspacetest�MAX_Py_ssize_t)�assert_python_failurecst����fdd��}|S)NcsBtj�dtf���|i|��Wd�S1s40YdS�N���test�supportZcheck_warnings�BytesWarning)�args�kw��func��+/usr/local/lib/python3.9/test/test_bytes.py�wrappersz%check_bytes_warnings.<locals>.wrapper)�	functools�wraps)rrrr
r�check_bytes_warningssrcCs|S�Nrr
rrrr"sc@seZdZddd�Zdd�ZdS)�	IndexablercCs
||_dSr��value)�selfrrrr�__init__'szIndexable.__init__cCs|jSrr�rrrr�	__index__)szIndexable.__index__N)r)�__name__�
__module__�__qualname__rrrrrrr&s
rc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zedd��Zdd�Zdd�Zedd ��Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Z d9d:�Z!d;d<�Z"d=d>�Z#d?d@�Z$dAdB�Z%dCdD�Z&dEdF�Z'dGdH�Z(dIdJ�Z)dKdL�Z*dMdN�Z+dOdP�Z,dQdR�Z-dSdT�Z.dUdV�Z/dWdX�Z0dYdZ�Z1d[d\�Z2d]d^�Z3d_d`�Z4dadb�Z5dcdd�Z6dedf�Z7dgdh�Z8didj�Z9dkdl�Z:dmdn�Z;dodp�Z<dqdr�Z=dsdt�Z>dudv�Z?dwdx�Z@dydz�ZAd{d|�ZBd}d~�ZCdd��ZDd�d��ZEd�d��ZFd�d��ZGd�d��ZHd�d��ZId�d��ZJd�S)��
BaseBytesTestcCs.|��}|�t|�|j�|�|j|j�dSr)�	type2test�assertEqual�type�	__class__�r�brrr�test_basics/szBaseBytesTest.test_basicscCsH|�d�}tjtjfD],}||�}|�||�|�t|�t|��qdS�N�abcd)r!�copy�deepcopyr"r#�r�aZcopy_methodr&rrr�	test_copy4s

zBaseBytesTest.test_copycs�|���|�t��d�|�t�fdd��|�t�fdd��|�t�fdd��|�t�fdd��|�t�fdd��|�t�fdd��|�t�fd	d��|�t�fd
d��|�t�fdd��|�t�fdd��|�t�fd
d��dS)Nrcs�dS)Nrrr�r&rr�<lambda>>�z3BaseBytesTest.test_empty_sequence.<locals>.<lambda>cs�dS�N�rrr/rrr0?r1cs
�tjSr��sys�maxsizerr/rrr0@r1cs�tjdSr2r4rr/rrr0Ar1cs�ddS�N�
�drrr/rrr0Br1cs�dS�N���rrr/rrr0Cr1cs�dS)N���rrr/rrr0Dr1cs�tjSrr4rr/rrr0Er1cs�tjdSr2r4rr/rrr0Fr1cs�tjdS)N�r4rr/rrr0Gr1cs�ddSr7rrr/rrr0Hr1)r!r"�len�assertRaises�
IndexErrorrrr/r�test_empty_sequence;sz!BaseBytesTest.test_empty_sequencecCs|�td��}|�t|�d�|�t|�ttd���|�dh�}|�|d�|�ddh�}|�t|�ddh�|�ttd���}|�t|�d�|�t|�ttd���|�dd	�td�D��}|�t|�d
�|�t|�ttd��ddd��Gd
d�d�}|�|��}|�|d�dS)N��*�*�+�-)rErF)rFrEcss|]}|dr|VqdS)r=Nr��.0�irrr�	<genexpr>[r1z3BaseBytesTest.test_from_iterable.<locals>.<genexpr>�r3r=c@seZdZdd�ZdS)z+BaseBytesTest.test_from_iterable.<locals>.ScSsd|S)N�r3r=�r)rrIrrr�__getitem__asz7BaseBytesTest.test_from_iterable.<locals>.S.__getitem__N)rrrrNrrrr�S`srO�)r!�ranger"r>�list�assertIn�tuple�iter)rr&rOrrr�test_from_iterableJs "z BaseBytesTest.test_from_iterablecCsT|�ttd���}|�t|�d�|�t|�ttd���|�d�}|�|d�dS�NrBrLrP)r!rTrQr"r>rRr%rrr�test_from_tuplefs

zBaseBytesTest.test_from_tuplecCsX|�ttd���}|�t|�d�|�t|�ttd���|�gd��}|�|d�dSrW)r!rRrQr"r>r%rrr�test_from_listns
zBaseBytesTest.test_from_listcs\G�fdd�d�}|�|�g�|�t��d�G�fdd�d�}|�g�|�t��d�dS)NcseZdZ�fdd�ZdS)z0BaseBytesTest.test_from_mutating_list.<locals>.Xcs���dS�NrC)�clearr�r-rrrysz:BaseBytesTest.test_from_mutating_list.<locals>.X.__index__N�rrrrrr\rr�Xxsr^rDcseZdZ�fdd�ZdS)z0BaseBytesTest.test_from_mutating_list.<locals>.Ycst��dkr��|�dS)N��rC)r>�appendrr\rrr�s
z:BaseBytesTest.test_from_mutating_list.<locals>.Y.__index__Nr]rr\rr�Ysras�****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************�r"�bytes)rr^rarr\r�test_from_mutating_listvsz%BaseBytesTest.test_from_mutating_listcCsd|�t�td�td�td�g�}|�t|�gd��|�t|jtd�g�|�t|jtd�g�dS)Nr3���rr3rerfr;rB)r!rr"rRr?�
ValueErrorr%rrr�test_from_index�s�zBaseBytesTest.test_from_indexcCsb|�t�dgd���}|�|d�|�d�}|�|d�Gdd�dt�}|�|�|d��d�dS)N�BrLrPc@seZdZdd�ZdS)z)BaseBytesTest.test_from_buffer.<locals>.BcSst�dSr)�	TypeErrorrrrrr�sz3BaseBytesTest.test_from_buffer.<locals>.B.__index__Nr]rrrrrj�ssfoobar)r!�arrayr"rc)rr-rjrrr�test_from_buffer�s
zBaseBytesTest.test_from_buffercCs�|�|�d�d�|�|�d�d�|�|�d�d�|�t|jd�|�|�dd	�d
�|�|�d
�d
�|�t|jtjd�dS)Nrr1r3��sr;�0�ascii�0)r"r!r?rh�
OverflowErrorr5r6rrrr�test_from_ssize�szBaseBytesTest.test_from_ssizecCs&|�t|jd�Gdd�d�}|�t|jdg�|�t|jdg�|�t|jdg�|�t|j|�g�|jt|jdd�|jt|jdd�|�t|jd	d�|�t|jd
d�|jt|jd	dd�|jt|jd
dd�|�t|jd�|jt|jddd�|�t|jdd�|�t|jddd
�dS)Ngc@seZdZdS)z5BaseBytesTest.test_constructor_type_errors.<locals>.CN�rrrrrrr�C�srvrprq)�encoding�ignore)�errorsrr1rsasciisignore)r?rkr!)rrvrrr�test_constructor_type_errors�s z*BaseBytesTest.test_constructor_type_errorscCs�|�t|jdg�|�t|jtjg�|�t|jtjdg�|�t|jtjdg�|�t|jddg�|�t|jdg�|�t|jdg�|�t|jtjg�|�t|jtjdg�|�t|jddg�dS)Nr;r3r=r8r9rBi)r?rhr!r5r6rrrr�test_constructor_value_errors�sz+BaseBytesTest.test_constructor_value_errorsc	CsDt}|�ttf|j|�zt|d�Wnttfy>Yn0dS)N�)rr?rs�MemoryErrorr!�	bytearray)r�sizerrr�test_constructor_overflow�sz'BaseBytesTest.test_constructor_overflowcCsXGdd�d�}|�t|j|��|�t|j|�g�Gdd�d�}|�t|j|��dS)Nc@seZdZdd�ZdS)z9BaseBytesTest.test_constructor_exceptions.<locals>.BadIntcSsdddS�Nr3rrrrrrr�szCBaseBytesTest.test_constructor_exceptions.<locals>.BadInt.__index__Nr]rrrr�BadInt�sr�c@seZdZdd�ZdS)z>BaseBytesTest.test_constructor_exceptions.<locals>.BadIterablecSsdddSr�rrrrr�__iter__�szGBaseBytesTest.test_constructor_exceptions.<locals>.BadIterable.__iter__N)rrrr�rrrr�BadIterable�sr�)r?�ZeroDivisionErrorr!)rr�r�rrr�test_constructor_exceptions�s
z)BaseBytesTest.test_constructor_exceptionscCs|�gd��}|�gd��}|�ddg�}|�||�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�dS)NrLr3rM)r!r"�
assertTrue�assertFalse)r�b1�b2�b3rrr�test_compare�s&zBaseBytesTest.test_comparecCs�|�|�d�dkd�|�|�d�dkd�|�|�d�dkd�|�|�d�dkd�|�|��t�kd�|�|��t�kd�dS)Nsabc�abcFsabcsabcsabcT)r"r!�strrrrr�test_compare_to_str�s��z!BaseBytesTest.test_compare_to_strcCs<tttd��}|�|�}tt|��}|��|�||�dS)N�Hello)rR�map�ordr!�reversed�reverser")r�inputr&�outputrrr�
test_reverseds

zBaseBytesTest.test_reversedcsP�fdd�}|d�}��|dd�|d����|dd�|d����|dd�|d	����|dd�|d
����|dd�|d
����|dd�|d
����|dd
�|d����|dd
�|d����|d
d�|d	����|dd�|d
����|dd�|d
����|dd�|d
����|dd�|d��dS)Ncs��tt|��Sr)r!r�r���srrr�bysz'BaseBytesTest.test_getslice.<locals>.by�Hello, worldror�r3Zello�z, �world�r9���i����������)r"�rr�r&rrr�
test_getslice
szBaseBytesTest.test_getslicecCs�ttd��}|�|�}ddddddtjddd	d
f}|D]F}|D]<}|dd�D]*}|�||||�|�||||���qNq>q6dS)Nrfrr3rM�r9r;r<���r�)rRrQr!r5r6r")r�Lr&�indices�start�stop�steprrr�test_extended_getslices
z$BaseBytesTest.test_extended_getslicec	Csrd}dD](}|�||�}|�||�|�|���q|�t|j|d�|�|dd�}|�||�|dd�d��dS)N�Hello world
ሴ噸骼��utf-8zutf-16�latin-1rx���r�)r!r"�encoder?�UnicodeEncodeError�r�sample�encr&rrr�
test_encoding)szBaseBytesTest.test_encodingcCs�d}dD]"}|�||�}|�|�|�|�qd}|�|d�}|�t|jd�|�|�dd�d�|�|jddd�d�|�|�d	���d
�dS)Nr�r�uHello world
€þÿr�r�rxzHello world
)ryrws☃u☃)r!r"�decoder?�UnicodeDecodeErrorr�rrr�test_decode2s�zBaseBytesTest.test_decodecCsdd}d}t�d|jj�d|�d|�d|�d|�d|�d	|�d
��}tddd
|�}|�|jd|�dS)NzBoom, Shaka Laka, Boom!)rq�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-cr8)�textwrap�dedentr!rrr"�rc)r�invalid�	encodings�code�procrrr�test_check_encoding_errors@s&����� �(�
0z(BaseBytesTest.test_check_encoding_errorscCsb|�d�}|�||���|�d�}|�||�dgd��|�d�}|�||�dgd��dS)Nrr8i')r!r"r%rrr�
test_from_intxs


zBaseBytesTest.test_from_intcsx|�d��|�d��|���d�|��td�d�|�td��d�|�t�fdd��|�t�fdd��dS)N�abc�def�abcdefsdefabccs�dS)N�defrr)r�rrr0�r1z+BaseBytesTest.test_concat.<locals>.<lambda>csd�S)Nr�rr)r�rrr0�r1)r!r"rcr?rkrr)r�r�r�test_concat�s

zBaseBytesTest.test_concatc	s�d|�d�fD]̉|��dd�|��dd�|��dd�|�t�fdd��|�t�fd	d��|�ttf���tj}Wd�n1s�0Y|�ttf���tj9�Wd�q1s�0YqdS)
Nr�rM�	abcabcabcrr1r;cs�dS�Ng��Q�	@rrr/rrr0�r1z+BaseBytesTest.test_repeat.<locals>.<lambda>csd�Sr�rrr/rrr0�r1)r!r"r?rkrsr}r5r6�r�crr/r�test_repeat�s(zBaseBytesTest.test_repeatcCs*|�|�d�d|�td�gd��dS)N�xr9�x)r"r!r�rrrr�test_repeat_1char�szBaseBytesTest.test_repeat_1charcst|�d��|�td���|�ttd����|�d��|�t�fdd��|�t�fdd��|�t�fdd��|�t�fdd��|�t�fd	d��|�t�fd
d��tt	fD]�}|�|d���|�|d���|�|d
���|�|d���|�|d���|�|d���|�|d���|�|d���|�|d���|�|d���|�|d���q�dS)Nr�r-��csd�vS)N�,rrr/rrr0�r1z-BaseBytesTest.test_contains.<locals>.<lambda>csd�vSr:rrr/rrr0�r1cstjd�vSr2r4rr/rrr0�r1csd�vSrrrr/rrr0�r1csttd���vS�Nr-)�floatr�rr/rrr0�r1csd�vSr�rrr/rrr0�r1r1�a�b�c�ab�bc�ac�dsdabsabd)
r!rSr��intZassertNotInr?rhrkrcr~�r�frr/r�
test_contains�s,
zBaseBytesTest.test_containsc	Cs�|�t|jj�|�t|jjd�|�|j�d�|���tgd��}|�|j�d�|�|�|j�d�|�|�|j�d�|�dD]}|�|j�|�|���q�dD]}|�t|jj|�q�|�|j�d	�d
�|�t|jjd�|�t|jjd�|�t|jjd
�|�t|jjd�|�t|jjd�|�t|jjd�dD]X\}}|�t��}|j�|�Wd�n1�sz0Y|�d|t|j	���qDdS)Nr3r��rE�0�1a2B30z  1A 2B  30   z
 1A
2B	30z	

 u…   
Z0000ss1Br-Zrtz1a b cd�z12      34))z12 x4 56rM)z12 3x 56r|)z12 xy 56rM)u	12 3ÿ 56r|zat position %s)
r?rkr!�fromhexr"r~rhrSr��	exception)rr&r��data�pos�cmrrr�test_fromhex�s,
,zBaseBytesTest.test_fromhexcCs~|�t|jj�|�t|jjd�|�|�d���d�|�tgd����d�|�|�d���d�|�td���d�dS)Nr3r1rr�Z1a2b30�+0)r?rkr!�hexr"r~�
memoryviewrrrr�test_hex�szBaseBytesTest.test_hexcCs�|�d�}|�|��d�|�t��|�d�Wd�n1sD0Y|�t��|�d�Wd�n1sx0Y|�|�dd�d�|�t��|�dd�Wd�n1s�0Y|�t��|�d�Wd�n1s�0Y|�t��|�d�Wd�n1�s,0Y|�t��|�d	�Wd�n1�sb0Y|�t��|�td
��Wd�n1�s�0Y|�|�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��Zb901efr�xx�:r�ÿ����rBrnzb901efr��zb901ef�rMr|���zb9:01:ef�$zb9$01$efr3r;r=zb9:01ef�*r<zb901*efs {sworldishelloi0�.�zC7b7305000000776f.726c646902000000.730500000068656c.6c6f690100000030)r!r"r�r?rhrk�chr)rZthree_bytesrrrr�test_hex_separator_basics�sD
((*(**.z'BaseBytesTest.test_hex_separator_basicscCs$|�tdd��}|�|��d�dS)N�Z�_Z
5a5b5c5d5e�r!rQr"r�)rZ
five_bytesrrr�test_hex_separator_five_bytessz+BaseBytesTest.test_hex_separator_five_bytescCs|�dd�tdd�D��}|�|��d�|�|�dd�d�|�|�dd	�d
�|�|�dd�d
�|�|�dd�d�|�|�dd�d�|�|�dd�d�|�|�dd�d�|�|�dd�d�|�|�dd�d�|�|�dd�d�|�|�dd�d�|�|�dd�d�dS)Ncss|]}|dVqdS)rMNr�rHr�rrrrJr1z=BaseBytesTest.test_hex_separator_six_bytes.<locals>.<genexpr>r3r�Z0306090c0f12r�z03.06.09.0c.0f.12� r=z0306 090c 0f12�-rMz
030609-0c0f12r�r|z
0306:090c0f12roz
03:06090c0f12�r�_r�Z
030609_0c0f12r�z
0306090c:0f12�@r�z
0306090c0f@12i����i����r)rZ	six_bytesrrr�test_hex_separator_six_bytessz*BaseBytesTest.test_hex_separator_six_bytescCs|�|�d��g�d�|�|�d��dg�d�dgddgddggd�fD]d}tt|j|��}|�|�d��|�d�|�|�d��t|��d�|�|�d��t|��d�qL|�d�j}|�|dd	g�d
�|�|td�d	g�d
�|�|dtd	�g�d
�|�|td�d	g�d
�|�|dtd	�g�d
�dgd}ddd
}|�||�|�dgd}dd}|�|�d��|�|�|�	t
|�d�jd�|�	t
��"|td�ddg�Wd�n1�s�0Y|�	t
��"|td�ddg�Wd�n1�s
0YdS)Nr1r�r�r�r�r�)r�r�r�s.:scdsab.:cdi��s.:abci��� Zcdsef)r"r!�joinrRr�rTrUr�r~r?rk)rZlstZdot_join�seqZexpectedrrr�	test_joins0

2zBaseBytesTest.test_joincCs|�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|�ssr=�wrr�pr3rMr��	)r!r"�count)rr&rI�p�wrrr�
test_count5s"
zBaseBytesTest.test_countcCs�|�d�}|�|���d��|�|�d��|�|�d��|�|�d��|�|�d��|�|�d��|�t��}|�dg�Wd�n1s�0Yt|j�}|�d|�|�d|�dS)	N�hello�anythingshel�hshellowsharcrT)	r!r��
startswithr�r?rkr�r�rS�rr&r��excrrr�test_startswithLs
*
zBaseBytesTest.test_startswithcCs�|�d�}|�t��d��|�|�d��|�|�d��|�|�d��|�|�d��|�|�d��|�t��}|�dg�Wd�n1s�0Yt|j�}|�	d|�|�	d|�dS)	Nrrsllo�oswhellosnorcrT)
r!r�r~�endswithr�r?rkr�r�rSrrrr�
test_endswithZs
*
zBaseBytesTest.test_endswithcCs|�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	fD]}|�td|j|�q�dS)Nrrrrr=rr;�
mississippianr3rMror�rrBzbyte must be in range\(0, 256\))r!r"�findr5r6�assertRaisesRegexrh)rr&rIr�indexrrr�	test_findhs&
�zBaseBytesTest.test_findcCs�|�d�}d}d}|�|�d�d�|�|�d�d�|�|�d�d�|�|�|�d	�|�|�|�d�|�|�dd
�d�|�|�ddd�d
�|�|�|dd
�d�|�|�|d
d�d�|�|�|dd
�d�dS)Nrrrrrorr;r%r8rMrrr=r3rr�)r!r"�rfind�rr&rIrrrr�
test_rfind�s
zBaseBytesTest.test_rfindcCs�|�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)
Nrrrrr=rr%r3rMror�r)r!r"r(r?rhr+rrr�
test_index�s
zBaseBytesTest.test_indexcCs�|�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)Nrrrrrorr%r8rMrrr=r3rr�)r!r"�rindexr?rhr+rrr�test_rindex�s
zBaseBytesTest.test_rindexcCs�|�d�}|}|d}|�|d�|�|d�|�||u�|�d�}|d}|�|d�|�t|�|j�|�d�}|d}|�|d�|�t|�|j�dS�	Ns
hello, %b!�worlds
hello, world!s%s / 100 = %d%%)sseventy-nine�Osseventy-nine / 100 = 79%s
hello,%b!s
hello,world!�r!r"r��assertIsr#)rr&�origr-rrr�test_mod�s


zBaseBytesTest.test_modcCs�|�d�}|}|d;}|�|d�|�|d�|�||u�|�d�}|d;}|�|d�|�t|�|j�|�d�}|d;}|�|d�|�t|�|j�dSr0r3)rr&r5rrr�	test_imod�s


zBaseBytesTest.test_imodcCsV|�t�� t�|�d�Wd�n1s00Y|�|�d��d�t�dS)Nr�z%r)r?rk�objectr!r4�__rmod__�NotImplementedrrrr�	test_rmod�s.zBaseBytesTest.test_rmodcCs6|�d�}|�|�dd�d�|�|�dd�d�dS)Nrrr�smassassapparr�s	mixixippi)r!r"�replacer%rrr�test_replace�s
zBaseBytesTest.test_replacecCs|�t|�d�jdd�dS)N�a b� r1)r?rkr!r<rrrr�test_replace_int_error�sz$BaseBytesTest.test_replace_int_errorcCs0|�t|�d�jd�|�t|�d�jd�dS�Nr>r�r?rkr!�split�rsplitrrrr�test_split_string_error�sz%BaseBytesTest.test_split_string_errorcCs0|�t|�d�jd�|�t|�d�jd�dS�Nr>r?rBrrrr�test_split_int_error�sz"BaseBytesTest.test_split_int_errorcCsFdD] }|�|�}|�|��|g�q|�d�}|�|��dg�dS)N)sabsabsabsab�		

�)r!r"rCr%rrr�test_split_unicodewhitespace�s


z*BaseBytesTest.test_split_unicodewhitespacecCs |�d�}|�|��dg�dS)NrHrI)r!r"rDr%rrr�test_rsplit_unicodewhitespace�s
z+BaseBytesTest.test_rsplit_unicodewhitespacecCs2|�d�}|�|�d�d�|�|�d�d�dS)Nrr)smirsissippir)rr1r1)r!r"�	partitionr%rrr�test_partition�s
zBaseBytesTest.test_partitioncCsD|�d�}|�|�d�d�|�|�d�d�|�|�d�d�dS)Nrr)smissirsippir)s
mississipprr1r)r1r1r)r!r"�
rpartitionr%rrr�test_rpartitions
zBaseBytesTest.test_rpartitioncCs0|�t|�d�jd�|�t|�d�jd�dSrA�r?rkr!rLrNrrrr�test_partition_string_errorsz)BaseBytesTest.test_partition_string_errorcCs0|�t|�d�jd�|�t|�d�jd�dSrFrPrrrr�test_partition_int_errorsz&BaseBytesTest.test_partition_int_errorcCsNttjd�D]:}dD]0}|�|�}t�||�}t�|�}|�||�qqdS�Nr3)r1r�r�s�ab�s�)rQ�pickle�HIGHEST_PROTOCOLr!�dumps�loadsr")r�protor&Zps�qrrr�
test_picklings

zBaseBytesTest.test_picklingcCs�ttjd�D]�}dD]�}t|�|��}}t|�|��}t�||�}t�|�}|�t	|�t	|��|�t|�|�t�|�}|s�qt
|�t�||�}t�|�}|�t|�|dd��qqdSrS)rQrTrUrUr!rRrVrWr"r#�next)rrXr&�itZitorgr��drrr�test_iterator_picklings


z$BaseBytesTest.test_iterator_picklingcCsX|�|�d��td��d�|�|�d��td��d�|�|�d��td��d�dS)Nr�r�r�r�r�)r"r!�stripr��lstrip�rstriprrrr�test_strip_bytearray*sz"BaseBytesTest.test_strip_bytearraycCsF|�t|�d�jd�|�t|�d�jd�|�t|�d�jd�dS)Nr�Zac�r?rkr!r_r`rarrrr�test_strip_string_error/sz%BaseBytesTest.test_strip_string_errorcCsF|�t|�d�jd�|�t|�d�jd�|�t|�d�jd�dS)Ns abc r?rcrrrr�test_strip_int_error4sz"BaseBytesTest.test_strip_int_errorcCs:|�d�}ttfD]"}|�|�d|d��|�d��qdS)Nr�r��-s--abc--)r!rcr~r"�center�rr&Z	fill_typerrr�test_center9s

�zBaseBytesTest.test_centercCs:|�d�}ttfD]"}|�|�d|d��|�d��qdS)Nr�r�rfsabc----)r!rcr~r"�ljustrhrrr�
test_ljust@s

�zBaseBytesTest.test_ljustcCs:|�d�}ttfD]"}|�|�d|d��|�d��qdS)Nr�r�rfs----abc)r!rcr~r"�rjustrhrrr�
test_rjustGs

�zBaseBytesTest.test_rjustcCsL|�t|�d�jdd�|�t|�d�jdd�|�t|�d�jdd�dS)Nr�r�r?)r?rkr!rgrjrlrrrr�test_xjust_int_errorNsz"BaseBytesTest.test_xjust_int_errorcs4|�d��|��fdd�tt���D�gd��dS)NsA��cs g|]}t�||d���qS)r3)r�rGr/rr�
<listcomp>Ur1z*BaseBytesTest.test_ord.<locals>.<listcomp>)r�A�rKrf)r!r"rQr>rrr/r�test_ordSs
�zBaseBytesTest.test_ordcCs`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!�	maketransr?rhrk)rZ
transtablerrr�test_maketransXszBaseBytesTest.test_maketranscCs�|�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�lrr�r"r=rMr<rr3TF)	r!r"r&r*r(r.rr#r)rr&�l�hr��orrr�test_none_arguments`sB




z!BaseBytesTest.test_none_argumentscCsV|�d�}|j|j|j|j|jfD].}|�t|d�|�t|d�|�t|d�q"dS)Nrr;rBi')r!rr&r(r*r.r?rh)rr&�methodrrr�(test_integer_arguments_out_of_byte_range�s

z6BaseBytesTest.test_integer_arguments_out_of_byte_rangec	Cs�|�d�}|�d�}|�td|j|ddd�|�td|j|ddd�|�td|j|ddd�|�td|j|ddd�|�td|j|ddd�|�td|j|ddd�|�td	|j	|ddd�dS)
Nrr�z\bfind\bz	\brfind\bz	\bindex\bz
\brindex\bz	\bcount\bz\bstartswith\bz\bendswith\b)
r!r'rkr&r*r(r.rrr#)rr&r�rrr�*test_find_etc_raise_correct_error_messages�s.

�������z8BaseBytesTest.test_find_etc_raise_correct_error_messagescCs(tj�|t|j�tj�|t|j�dSr)rr	Zcheck_free_after_iteratingrUr!r�rrrr�test_free_after_iterating�sz'BaseBytesTest.test_free_after_iteratingcCs4|�d�}ttd��}td�|td�<|�t|j�|�t|jdd�|�t|jttd���|�|d�}|�	|d�|�
||j�|�|�}|�|d�}|�	||�|�	|d�|�|d�}|�	|d	�|�dd
�}|�	|d�|j|dd�}|�	|d�|j|dd�}|�	|d	�|jdd
d�}|�	|d�dS)
NrrB�eryrfr1shellervshee�eshllo)�delete)r!r~rQr�r?rk�	translaterhrcr"�assertIsInstance)rr&Zrosettar�r]rrr�test_translate�s.

zBaseBytesTest.test_translatecCs�tj�d�}|�d�}|�t��|�|d�Wd�n1sB0Y|�t��|�|d�Wd�n1sx0Y|�|�|d�d�dS)N�	_testcapi)rCr<r3rrC)rr	�
import_moduler!r?r@Zsequence_getitemr")rr��objrrr�test_sq_item�s
**zBaseBytesTest.test_sq_itemN)Krrrr'r.rArVrXrYrdrirmrtrzr{rr�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr	r
rr!r$r)r,r-r/r6r7r;r=r@rErGrJrKrMrOrQrRrZr^rbrdrerirkrmrnrrrurzr|r}r~r�r�rrrrr -s�




	8	
%%+r c@s8eZdZeZdd�Zdd�Zdd�Zdd�Zd	d
�Z	dS)�	BytesTestcCs@d}d}|�t|��|dWd�n1s20YdS)N�pythonz'byte indices must be integers or slicesr-)r'rk�rr&�msgrrr�test_getitem_error�szBytesTest.test_getitem_errorcCsPt�ttj�}t|ddd�� }|�t|jd�Wd�n1sB0YdS)N�rbr)�	bufferingr1)�os�open�__file__�O_RDONLYr?rk�readinto)r�fdr�rrr�test_buffer_is_readonly�sz!BytesTest.test_buffer_is_readonlycCsGdd�d�}|�t|��d�Gdd�d�}|�tt|��Gdd�d�}|�tt|��Gdd�d�}|�t|��d�Gdd�dt�}|�t|d	��d�|�t|d	�d
�d�Gdd�d�}|�t|��d�|�tt|���t�|�t|��d�|�tt|���t�dS)
Nc@seZdZdd�ZdS)� BytesTest.test_custom.<locals>.AcSsdS�Nr�rrrrr�	__bytes__�s�*BytesTest.test_custom.<locals>.A.__bytes__N�rrrr�rrrr�A�sr�r�c@seZdZdS)r�Nrurrrrr��r1c@seZdZdd�ZdS)r�cSsdSrrrrrrr��sr�Nr�rrrrr��sc@seZdZdd�Zdd�ZdS)r�cSsdS)Nr�rrrrrr��sr�cSsdSrZrrrrrr�sz*BytesTest.test_custom.<locals>.A.__index__N)rrrr�rrrrrr��sr�c@seZdZdd�ZdS)r�cSsdSr�rrrrrr��sr�Nr�rrrrr��su€z
iso8859-15��c@seZdZdd�ZdS)r�cSstd�Sr�)�OtherBytesSubclassrrrrr��sr�Nr�rrrrr��s)	r"rcr?rkr�r4r#r��
BytesSubclass)rr�rrr�test_custom�s zBytesTest.test_customcsxtj�d�}tj�d�}ddlm}m}ddlm}m}m}m	}m
}	m}
m}|j
}|f|_||_|�|d�d�|�|dd�d	�|�|d
|d��d�|�|d
|td���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$�|�|�}
tjd%k�r�d&�d|
���fd'd(�}nd)d(�}d*}|�|d+||��d,||��d-��|�|d.|d/��d0�|	d�j}d1||jtfd1||jtfd2||jtfd2||jtfd3||jtfd4|
|jtfd4|
|jtfd5|	|tfd6|||ff	D]0\}}}}|�||||��||��d-��f�q^|�|d7d8�d8�|�|d9d:�d;�|�|d<�d=�|�|d>�d?�|�|d@|tdA���dB�|�|dC�dD�|�|d=�d=�|�|dE|d�|d��dF�|� t!|dG|d��|� t!|dG|dH��|�|dI�dI�|�|dDdI�dI�dS)JN�ctypesr�r)�	pythonapi�	py_object)�c_int�c_uint�c_long�c_ulong�c_size_t�	c_ssize_t�c_char_psformats
Hello %s !r1s
Hello world !sc=%csc=�@sc=@rfsc=�sd=%d ld=%ld zd=%zdr3r=rMs
d=1 ld=2 zd=3r;r<r�sd=-1 ld=-2 zd=-3su=%u lu=%lu zu=%zu�{i�isu=123 lu=456 zu=789si=%isi=123i����si=-123sx=%xi�
sx=abc�ntz0x%0{}Xcs�|Srr��ptr�Z
ptr_formatrr�
ptr_formatter5sz1BytesTest.test_from_format.<locals>.ptr_formattercSsd|S)Nz%#xrr�rrrr�9si�ͫsptr=%pzptr=rqss=%sscstrss=cstrs%ds%lds%lus%zds%zus%ps%5sr�s%.3sr�r�s%%�%s[%%]s[%]s%%%crs%_s%%ss%ssx=%i y=%sx=2 y=%s%crBr1)"rr	r�r�r�r�r�r�r�r�r�r�r��PyBytes_FromFormat�argtypesZrestyper"r�Zsizeofr��name�formatr�rZINT_MINr�ZINT_MAXZLONG_MINZLONG_MAXZ	ULONG_MAXZPY_SSIZE_T_MINZPY_SSIZE_T_MAXr?rs)rr�r�r�r�r�r�r�r�r�r�r�r�Z
sizeof_ptrr�r�Zsize_maxZ	formatstrZctypes_typerZpy_formatterrr�r�test_from_formats�$
��������������
��


��
��
�
��
��
�
�
��zBytesTest.test_from_formatcCs�Gdd�dt�}gd�}|�t|�d�|�tt||��Gdd�dt�}|�td�d�|�tt|d��Gd	d
�d
t�}|�td�d�|�tt|d��Gdd
�d
t�}td�|d�}}|�t|�d�|�tt|�dS)Nc@seZdZdZdS)z7BytesTest.test_bytes_blocking.<locals>.IterationBlockedNr�rrrr�IterationBlockedusr�)rr3r=rMsc@seZdZdZdS)z1BytesTest.test_bytes_blocking.<locals>.IntBlockedNr�rrrr�
IntBlocked~sr�rMsc@seZdZdZdS)z;BytesTest.test_bytes_blocking.<locals>.BytesSubclassBlockedNr�rrrr�BytesSubclassBlocked�sr�r�c@seZdZdZdS)z4BytesTest.test_bytes_blocking.<locals>.BufferBlockedNr�rrrr�
BufferBlocked�sr�)rRr"rcr?rkr�r~)rr�rIr�r�r��ba�bbrrr�test_bytes_blockingtszBytesTest.test_bytes_blockingN)
rrrrcr!r�r�r�r�r�rrrrr��s!rr�c@s2eZdZeZdd�Zdd�Zdd�Zdd�Zd	d
�Z	dd�Z
d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Z d9d:�Z!d;d<�Z"e#j$j%d=d>��Z&d?d@�Z'e#j(j)j*Z*dAdB�Z+dCdD�Z,dES)F�
ByteArrayTestcCsDtd�}d}|�t|��|dWd�n1s60YdS)Nr��,bytearray indices must be integers or slicesr-�r~r'rkr�rrrr��sz ByteArrayTest.test_getitem_errorcCsDtd�}d}|�t|��d|d<Wd�n1s60YdS)Nr�r�Zpythonr-r�r�rrr�test_setitem_error�sz ByteArrayTest.test_setitem_errorcCs|�ttt��dSr)r?rk�hashr~rrrr�test_nohash�szByteArrayTest.test_nohashcCszd}|ddt|�}t��}�z,t|d��}|�|�Wd�n1sN0Yt|d��"}td�}|�|�}Wd�n1s�0Y|�|t|��|�t|�t|��t|d��}|�|�Wd�n1s�0Yt|d�� }|�|�	�|�Wd�n1�s0YWzt
�|�Wnt�yLYn0n&zt
�|�Wnt�yrYn00dS)NsHello world
rn��wbr�)
r>�tempfile�mktempr��writer~r�r"rR�readr��remove�OSError)rZshort_sampler�Ztfnr�r&�nrrr�test_bytearray_api�s.(((2�z ByteArrayTest.test_bytearray_apicCs\td�}|�|��d�|�|d�td�}|��|�|d�t�}|��|�|�dS)Nrsollehshello1s1olleh)r~r"r�r�r%rrr�test_reverse�szByteArrayTest.test_reversecCsttd�}|��|�|d�td�}|��|�|d�td�}|�td��|��|�td��|�|d�dS)Nr�r1�rrr)r~r[r"r`r�r%rrr�
test_clear�szByteArrayTest.test_clearcCs�td�}|��}|�|d�td�}|��}|�|d�td�}|��}|�||�|�||�|�td��|�|d�|�|d�dS)Nr�r1r]r))r~r*r"�assertIsNotr`r�)rr&r�rrrr.�szByteArrayTest.test_copycCs4dd�}|d�}|�t�d|�|d�|d�g�dS)NcSsttt|��Sr)r~r�r�r�rrrr��sz&ByteArrayTest.test_regexps.<locals>.byr�s\w+r�r�)r"�re�findallr�rrr�test_regexps�szByteArrayTest.test_regexpscCsBtgd��}d|d<|�|tgd���d|d<|�|tgd���td�|d	<|�|tgd
���zd	|d<|�d�Wnty�Yn0zd	|d
<|�d�Wnty�Yn0zd|d	<|�d�Wnty�Yn0ztd�|d	<|�d�Wnt�yYn0zd|d	<|�d�Wnt�y<Yn0dS)NrLr9r3)r3r9rMr�r;)r3r9r�r8r)r8r9r�rMzDidn't raise IndexErrori����rBzDidn't raise ValueErrorzDidn't raise TypeError)r~r"r�failr@rhrkr%rrr�test_setitem�s@zByteArrayTest.test_setitemcCsbttd��}|d=|�|ttdd���|d=|�|ttdd���|d=|�|tgd���dS)Nr8rr3r;rr|)r3r=rMr|rr�r�)r~rQr"r%rrr�test_delitemszByteArrayTest.test_delitemc	Csttd��}|�t|�ttd���tgd��|dd�<|�|tgd���|dd�=|�|tgd���tgd��|dd�<|�|ttd���td	d
g�|dd�<|�|tgd
���gd�|dd�<|�|ttd���gd�|dd�<|�|tgd���d|dd�<|�|tgd���td�|dd�<|�|tgd���g|dd�<|�|tgd���dddtd�ddddgddgggf	D]>}|�t��||dd�<Wd�n1�s�0Y�q�gd�dd gfD]>}|�t��||dd�<Wd�n1�s0Y�q�dS)!Nr8)r3r3r3r3r3rro)
r3r3r3r3r3rorr�r�rr�)rorr�r�r)rr3r=rMr|r9�er�r�)rr3r=r9r�r�r�r)rMr|rorrM)rCrCrC)
rr3r=rCrCrCrMr|rorr�r�rsfoo)rr3r=�f�or�)r�r�r�r�r�r�r|)r�r�r�r�r�gP����KDr�gffffff@r-r&r�r�)rerfrBi���i(#)	r~rQr"rRr�r�r?rkrh)rr&�elemrrr�
test_setslices8
�0zByteArrayTest.test_setslicecCsvttd��}|�t|�ttd���|dd�=|�t|�ttdd���|�tdd��|�t|�ttdd���dS)Nr9r8�n)r~rQr"rR�extendr%rrr�test_setslice_extendDs
z"ByteArrayTest.test_setslice_extendcCs,td�}|��|dd�=|td�7}~dS)Nr8r3r=)r~�poprcr%rrr�test_fifo_overrunMs

zByteArrayTest.test_fifo_overruncCs2td�}t�|�}|dd�=|�t�|�|�dS)Nr8r3)r~r5�	getsizeof�assertLessEqual)rr&rrrr�test_del_expandVs

zByteArrayTest.test_del_expandcCs�dddddddd>tjddd	d
f}|D]�}|D]�}|dd�D]�}ttd��}t|�}||||�}|��|||||�<|||||�<|�|t|��||||�=||||�=|�|t|��q>q.q&dS)Nrr3rMr�r�iMr;r<r�i���rf)r5r6rRrQr~r�r")rr�r�r�r�r�r&r�rrr�test_extended_set_del_slice]s �z)ByteArrayTest.test_extended_set_del_slicecCs@ttd��}||dd�<|�|tttd��ttd����dS)NrBr�)r~rQr"rRr%rrr�test_setslice_traprsz ByteArrayTest.test_setslice_trapcCsztd�}|}|d7}|�|d�|�||�|�||�|d7}|�|d�z|d7}WntyjYn0|�d�dS)Nr�r�r�rss	abcdefxyzrz'bytes += unicode didn't raise TypeError)r~r"r4rkr��rr&r�rrr�test_iconcatyszByteArrayTest.test_iconcatcCs<td�}|}|d9}|�|d�|�||�|�||�dS)Nr�rMr��r~r"r4r�rrr�test_irepeat�szByteArrayTest.test_irepeatcCs<td�}|}|d9}|�|d�|�||�|�||�dS)Nr�r9sdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr�r�rrr�test_irepeat_1char�sz ByteArrayTest.test_irepeat_1charcCsdt�}|��}|�|d�|g}td�D]6}|d7}|��}|�|t|��||vr(|�|�q(dS)Nrr9r�)r~�	__alloc__ZassertGreaterEqualrQ�
assertGreaterr>r`)rr&�allocrrIrrr�
test_alloc�szByteArrayTest.test_alloccsft����fdd�}��|����t��ttdd�����t��d����}��|t���dS)Nc	3s|tdd�D]l}|Vt��}��|ttdt|�d�����t��t|����t��|����}��|t���q
dS)Nr3r9)rQrRr"r>r�r�r�)rIr-r��r&rrr�g�sz(ByteArrayTest.test_init_alloc.<locals>.gr3r9�c)r~rr"rRrQr>r�r�)rr�r�rr�r�test_init_alloc�s	zByteArrayTest.test_init_alloccCs�d}t|�}|�|�|�|||�|�|dd�|�td�}|�tt|d��|�dd�|dD��|�||d�|�|dd�|�td�}|�ttt|d���|�||d�|�|dd�|�td�}|�ttt|d���|�||d�|�|dd�|�td�}|�t|jgd	��|�t|jgd
��|�t	|�d�td�}|�t
td��g�|�|d
�dS)Nrror1�css|]}t|�VqdSr)r�rrrrrJ�r1z,ByteArrayTest.test_extend.<locals>.<genexpr>�2r�)rr3r=rB)rr3r=r;rr-r�)r~r�r"r�r�rUrRr?rhr>rr�)rr5r-rrr�test_extend�s2
zByteArrayTest.test_extendcstd����td��|��d���td��|��d�|�t�fdd��|�t�fdd��|�t�fdd����td	����td
��|��d�|�t�fdd����ttd
���|��d�tgd��}|�d�|�|tgd���|�d�|�|tddg��dS)Nrrwshelosheocs��td��S)Nrw)r�r�rr/rrr0�r1z+ByteArrayTest.test_remove.<locals>.<lambda>cs
��d�S)Ni��r�rr/rrr0�r1cs
��d�S)Nrr�rr/rrr0�r1ryrxr�cs
��d�S)Nr�r�rr/rrr0�r1rr1)�~rqrK�rq)r�rKr�r�r�rK)	r~r�r�r"r?rhrkrrcr�rr/r�test_remove�s&

zByteArrayTest.test_removecs�td��|����td��|���d�td��|���d�td��|�t�fdd��|�td	d��|�td
���d�dS)Nr1r]rrr<r�cs
��d�S)Nr8)r�rr/rrr0�r1z(ByteArrayTest.test_pop.<locals>.<lambda>cSs
t���Sr)r~r�rrrrr0�r1r�rf)r~r"r�r�r?r@rrr/r�test_pop�szByteArrayTest.test_popcCs|�tdd��dS)NcSs
t���Sr)r~�sortrrrrr0�r1z+ByteArrayTest.test_nosort.<locals>.<lambda>)r?�AttributeErrorrrrr�test_nosort�szByteArrayTest.test_nosortcs�td����td��|��d�|���d�d�t����td��|�t��d�|�t�fdd��t����ttd���|��d	�dS)
Nshellryrr9r�r3cs
��d�S)Nr")r`rr/rrr0�r1z+ByteArrayTest.test_append.<locals>.<lambda>�A)r~r`r�r"r>r?rkrrrr/r�test_append�szByteArrayTest.test_appendcs�td����dtd����dtd����dtd����dtd��|��d�|�t�fdd	��t����d
ttd���|��d�dS)
Nsmssssppr3rIr|r<r_rcs��dd�S)Nr�1)�insertrr/rrr0r1z+ByteArrayTest.test_insert.<locals>.<lambda>rr�r)r~rr�r"r?rkrrrr/r�test_insertszByteArrayTest.test_insertcCsRtd�}|�||�ddd��tdd�td�D��}td�}|�||�|��dS)Nr�scdercSsg|]}|�qSrrrGrrrror1z-ByteArrayTest.test_copied.<locals>.<listcomp>rBr1)r~r�r<rQr�)rr&�tr�rrr�test_copieds
zByteArrayTest.test_copiedcCs�td��d�\}}}|�|d�|�|d�|�||�|d7}|�|d�td��d�\}}}|�|d�|�|d�td��d�\}}}|�|d�|�|d�|�||�|d7}|�|d�td��d�\}}}|�|d�|�|d�dS)Nr��yr1�!)r~rLr"r�rN)rr-r&r�rrr�0test_partition_bytearray_doesnt_share_nullstrings$z>ByteArrayTest.test_partition_bytearray_doesnt_share_nullstringcs
ttd���t��}�fdd�}|d��dd�}|�t|d�|��|�|�t|d�|��|�|�t|d�|��|�|�t�jd�|��|�|�t�j�d�|��|��fdd	�}|�t|�|��|��fd
d�}|�t|�|��|�dS)Nr8cs"t|dd|d��dd�<dS)Nr3r=r;)rQ)r�r/rr�resize6sz3ByteArrayTest.test_resize_forbidden.<locals>.resize�rrr3cs
�d=dSr2rrr/rr�delitemEsz4ByteArrayTest.test_resize_forbidden.<locals>.delitemcsd�ddd�<dS)Nr1r3r;r=rrr/rr�delsliceJsz5ByteArrayTest.test_resize_forbidden.<locals>.delslice)r~rQr�r?�BufferErrorr"r�r�)r�vr
r5rr
rr/r�test_resize_forbidden/s*z#ByteArrayTest.test_resize_forbiddencCs ddlm}|�t|t��dS)Nr)�getbuffer_with_null_view)r�rr?rr~)rrrrr�test_obsolete_write_lockOsz&ByteArrayTest.test_obsolete_write_lockc	Cs�td�}td�}ttjd�D�]v}t|�}t�||f|�}t�|�\}}||dd�<|�t	|�t	|��|�t|�|�t
|�t�||f|�}t�|�\}}||dd�<|�t	|�t	|��|�t|�|dd��tdt|��D]}t
|�q�t�||f|�}t�|�\}}||dd�<|�t	|�t	|��|�t|�|t|�d��|�t
t
|�t�||f|�}t�|�\}}||dd�<|�t|�g�qdS)Nr�sqwertyr3)r~rRrQrTrUrUrVrWr"r#r[r>r?�
StopIteration)	rr5r�rXZitorigr]r\r&rIrrr�test_iterator_pickling2Ts6
z%ByteArrayTest.test_iterator_pickling2cCs4td�}t|�}t|�|��|�t|�g�dS)Nr�)r~rUr[r[r"rR)rr�r\rrr�test_iterator_length_hintzs
z'ByteArrayTest.test_iterator_length_hintcCsLtd�}d|dd�<|d}|d}|�|d�|�||�|�|d�dS)Nr�r�r=r3rMsxcsxcxcxc�r~r")rr&r�r�rrr�test_repeat_after_setslice�sz(ByteArrayTest.test_repeat_after_setsliceN)-rrrr~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�r�rrrr	rrr	Zcpython_onlyrrZ
list_testsZ
CommonTestZtest_exhausted_iteratorrrrrrrr��sJ"	(		


 
$
	r�c@s�eZdZedd��Zedd��Zdd�Zejj	dd��Z
d	d
�Zedd��Zd
d�Z
dd�Zdd�Zdd�Ze�ejjd�dd��ZdS)�AssortedBytesTestcCs�ttfD]t}|�|t��d�|�|tdg��d�|�|tgd���d�|�|d�d�|�|d�d	�|�|d
�d�qdS)N�bytearray(b'')rzbytearray(b'\x00')rgzbytearray(b'\x00\x01\xfe\xff')r�zb'abc'�'zb"'"s'"zb'\'"')r��reprr"r~r�rrr�
test_repr_str�s�zAssortedBytesTest.test_repr_strc	Cs�dtd�fD]t}|�t|�t|��|�t|d�t|��|�tdt�t|�j	���t|d�Wd�q1sv0YqdS)Nr�rz\b%s\br�)
r~r"r�r�r'rkr��escaper#rr%rrr�test_format�s�zAssortedBytesTest.test_formatcCs�|�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)Nr�Tr�Frbrrrr�test_compare_bytes_to_bytearray�s0z1AssortedBytesTest.test_compare_bytes_to_bytearraycCsH|�tj�|�tj�d�tj�|�tj�|�tj�d�tj�dS)Nz
bytearray(zbytes()ZassertIsNotNoner~�__doc__r�rrcrrrr�test_doc�szAssortedBytesTest.test_doccCs,td�}t|�}t|�}|�|t|��dS)NsHello world
����)rcr�r~r")rr��bufr&rrr�test_from_bytearray�sz%AssortedBytesTest.test_from_bytearraycCsp|�td�d�|�td�d�|�td�d�|�ttd��d�|�ttd��d�|�ttd��d	�dS)
Nr1zb''r�zb'x'r�zb'\x80'rzbytearray(b'x')zbytearray(b'\x80'))r"r�r~rrrr�test_to_str�szAssortedBytesTest.test_to_strcCsRgd�}|D]\}}|�|t|d��qtdd�D]}|�ttdt|��q2dS)N))sWonderful spamzWonderful spam)sWonderful spam toozWonderful spam too)s��uª€)s\xaa\x00\000\200z\xaa\x00\000\200r�rKrBzb"%s")r"r~rQr?�SyntaxError�evalr�)rZtestsr&r�r�rrr�test_literal�s
�zAssortedBytesTest.test_literalcCs|�d�td��ddg�dS�Nr>r
r�r�)r"rCr�rrrr�test_split_bytearray�sz&AssortedBytesTest.test_split_bytearraycCs|�d�td��ddg�dSr()r"rDr�rrrr�test_rsplit_bytearray�sz'AssortedBytesTest.test_rsplit_bytearraycCst�}|�|�dd�|�dS)Nr1)r~r�r<r%rrr�test_return_self�sz"AssortedBytesTest.test_return_selfz4BytesWarning is needed for this test: use -bb optioncCsRdd�}|��ddkWd�n1s,0Y|��ddkWd�n1sZ0Y|��ddkWd�n1s�0Y|��ddkWd�n1s�0Y|��td�dkWd�n1s�0Y|��dtd�kWd�n1�s0Y|��td�dkWd�n1�sP0Y|��dtd�kWd�n1�s�0Y|��ddkWd�n1�s�0Y|��ddkWd�n1�s�0Y|��ddkWd�n1�s0Y|��ddkWd�n1�sD0YdS)NcSstj�dtf�Srrrrrr�
bytes_warning�sz5AssortedBytesTest.test_compare.<locals>.bytes_warningr1rrnr�r~)rr,rrrr��s2&&&&*,,,(((zAssortedBytesTest.test_compareN)rrrrrrrrr	Zrequires_docstringsr!r#r$r'r)r*r+�unittestZ
skipUnlessr5�flagsr,r�rrrrr�s$






�rc@seZdZdd�Zdd�ZdS)�BytearrayPEP3137TestcCst|�Srr-)rr�rrr�marshal szBytearrayPEP3137Test.marshalcCs�|�d�}dD]4}t||�}|d�}|�||�|�|||d�qdD]*}t|�}|�||�|�|||d�qH|�d�}|�|g�}|�||�|�||�dS)Ns1234)�zfillrlrjrgrMz" 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 objectr1)r1�getattrr"r�r&r)r�valZmethnamer{Znewval�expr�seprrr�test_returns_new_copy#s$

��
z*BytearrayPEP3137Test.test_returns_new_copyN)rrrr1r7rrrrr0sr0cs eZdZ�fdd�ZdZ�ZS)�FixedStringTestcs&t|t�r|�|�d��St��|�S)Nr�)�
isinstancer�r!r��super�fixtype)rr��r$rrr;;s
zFixedStringTest.fixtypeT)rrrr;Zcontains_bytes�
__classcell__rrr<rr8:sr8c@seZdZeZdS)�ByteArrayAsStringTestN)rrrr~r!rrrrr>Bsr>c@seZdZeZdS)�BytesAsStringTestN)rrrrcr!rrrrr?Esr?c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�SubclassTestcCs�|�t|j|j��|�|��|j�d\}}|�|�|�|�}}|�||k�|�||k�|�||k�|�||k�|�||k�|�||k�|�||�|�||||�|�||||�|�||||�|�|d|dk�dS)N)r)�efghro)r��
issubclassr!�basetyper�r�r")rr-r&Z_aZ_brrr�
test_basicKszSubclassTest.test_basiccCs`|�d�}|���|g�}|�||�|�t|�|jt|��|�dg�}|�t|�|j�dSr()r!rCrr�r4r#)r�s1�s2Zs3rrrr
cs
zSubclassTest.test_joincCs�|�d�}d|_|�d�|_ttjd�D]�}t�t�||��}|�t	|�t	|��|�
||�|�
|j|j�|�
|j|j�|�
t|�t|��|�
t|j�t|j��q*dS)Nr)r8rAr3)r!r��yrQrTrUrWrV�assertNotEqual�idr"r#)rr-rXr&rrr�test_pickleps
zSubclassTest.test_picklecCs�|�d�}d|_|�d�|_tjtjfD]x}||�}|�t|�t|��|�||�|�|j|j�|�|j|j�|�t|�t|��|�t|j�t|j��q(dS)Nr)r8rA)	r!r�rGr*r+rHrIr"r#r,rrrr.}s
zSubclassTest.test_copycs��j�d�}��|d���t|��j�G�fdd�d�j�}|�d�}��|d���t|�|���|jd�G�fdd�d�j�}|�d�}��|d���t|�|���|jd�dS)Nr�r�cseZdZ�fdd�ZdS)z%SubclassTest.test_fromhex.<locals>.B1cs�j�||�}d|_|S�N�bar)rC�__new__�foo)�clsr�merrrrM�sz-SubclassTest.test_fromhex.<locals>.B1.__new__N)rrrrMrrrr�B1�srQrLcseZdZ�fdd�ZdS)z%SubclassTest.test_fromhex.<locals>.B2cs.�jtur$�jj|g|�Ri|��d|_dSrK)rCrcrrN)rPr�kwargsrrrr�s
z.SubclassTest.test_fromhex.<locals>.B2.__init__N�rrrrrrrr�B2�srT)r!r�r"r4r#rCrN)rr&rQrTrrrr��s

zSubclassTest.test_fromhexN)rrrrDr
rJr.r�rrrrr@Is



r@c@seZdZdS)�ByteArraySubclassNrurrrrrU�srUc@seZdZdS)r�Nrurrrrr��sr�c@seZdZdS)r�Nrurrrrr��sr�c@seZdZeZeZdd�ZdS)�ByteArraySubclassTestcCsNGdd�dt�}|dd�}|ddd�}|�|d�|ddd�}|�|d�dS)Nc@seZdZddd�ZdS)z:ByteArraySubclassTest.test_init_override.<locals>.subclassr3c_stj|g|�Ri|��dSr)r~r)rP�newargrrRrrrr�szCByteArraySubclassTest.test_init_override.<locals>.subclass.__init__N)r3rSrrrr�subclass�srXr|r))�source)rWrYr)rrXr�rrr�test_init_override�s
z(ByteArraySubclassTest.test_init_overrideN)rrrr~rCrUr!rZrrrrrV�srVc@seZdZeZeZdS)�BytesSubclassTestN)rrrrcrCr�r!rrrrr[�sr[�__main__),r rlr�r�r5r*rrTr�r�r.Ztest.supportrZtest.string_testsZtest.list_testsrrZtest.support.script_helperrr/r,rrr ZTestCaser�r�rr0Zstring_testsZBaseTestr8r>r?r@r~rUrcr�r�rVr[r�mainrrrr�<module>s^
-A~]


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