
    /hhT                       S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKrS SKJr  S SKJr  S SKrS SKrS SKJrJr  S SKJr  \R*                  R,                  (       a  S rOS r " S S	5      r " S
 S5      r " S S\\
R4                  5      r " S S\\
R4                  5      r " S S\
R4                  5      r " S S\
R4                  5      r " S S\R>                  R@                  5      r! " S S\!\
R4                  5      r" " S S\!\
R4                  5      r# " S S5      r$ " S S\%5      r& " S S\%5      r' " S  S!\(5      r) " S" S#\(5      r* " S$ S%5      r+ " S& S'\$\
R4                  5      r, " S( S)\$\
R4                  5      r- " S* S+\$\
R4                  5      r.\/S,:X  a  \
R`                  " 5         gg)-    N)import_helper)warnings_helper)bigaddrspacetestMAX_Py_ssize_t)assert_python_failurec                 F   ^  [         R                  " T 5      U 4S j5       nU$ )Nc                     > [         R                  " S[        45         T" U 0 UD6sS S S 5        $ ! , (       d  f       g = fN r   check_warningsBytesWarning)argskwfuncs     8/opt/python-3.13.8/usr/lib/python3.13/test/test_bytes.pywrapper%check_bytes_warnings.<locals>.wrapper   s0     //\0BCT(R( DCCs   0
>)	functoolswraps)r   r   s   ` r   check_bytes_warningsr      s%    			) 
	)     c                     U $ N )r   s    r   r   r   %   s    r   c                   $    \ rS rSrSS jrS rSrg)	Indexable)   c                     Xl         g r   valueselfr!   s     r   __init__Indexable.__init__*       
r   c                     U R                   $ r   r    r#   s    r   	__index__Indexable.__index__,       zzr   r    N)r   __name__
__module____qualname____firstlineno__r$   r)   __static_attributes__r   r   r   r   r   )   s    r   r   c                      \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS r\S 5       rS rS r\S 5       rS rS rS rS rS rS rS rS rS rS r S r!S r"S r#S  r$S! r%S" r&S# r'S$ r(S% r)S& r*S' r+S( r,S) r-S* r.S+ r/S, r0S- r1S. r2S/ r3S0 r4S1 r5S2 r6S3 r7S4 r8S5 r9S6 r:S7 r;S8 r<S9 r=S: r>S; r?S< r@S= rAS> rBS? rCS@ rDSA rESB rFSC rGSD rHSE rISF rJSG rKSH rLSIrMgJ)KBaseBytesTest0   c                 n    U R                  [        U5      [        U5      5        U R                  X5        g r   )assertIstypeassertEqual)r#   actualexpecteds      r   assertTypedEqualBaseBytesTest.assertTypedEqual2   s&    d6lDN3*r   c                     U R                  5       nU R                  [        U5      U R                   5        U R                  UR                  U R                   5        g r   )	type2testr8   r7   	__class__r#   bs     r   test_basicsBaseBytesTest.test_basics6   s>    NNa$..1dnn5r   c                     U R                  S5      n[        R                  [        R                  4 H@  nU" U5      nU R                  X5        U R                  [	        U5      [	        U5      5        MB     g N   abcd)r>   copydeepcopyr8   r7   r#   acopy_methodrA   s       r   	test_copyBaseBytesTest.test_copy;   sV    NN7# IIt}}5KAAQ"T!Wd1g. 6r   c                   ^ U R                  5       mU R                  [        T5      S5        U R                  [        U4S j5        U R                  [        U4S j5        U R                  [        U4S j5        U R                  [        U4S j5        U R                  [        U4S j5        U R                  [        U4S j5        U R                  [        U4S j5        U R                  [        U4S	 j5        U R                  [        U4S
 j5        U R                  [        U4S j5        U R                  [        U4S j5        g )Nr   c                     > T S   $ Nr   r   rA   s   r   <lambda>3BaseBytesTest.test_empty_sequence.<locals>.<lambda>E   	    adr   c                     > T S   $ N   r   rQ   s   r   rR   rS   F   rT   r   c                  *   > T [         R                     $ r   sysmaxsizerQ   s   r   rR   rS   G   s    anr   c                  0   > T [         R                  S-      $ rV   rY   rQ   s   r   rR   rS   H   s    aA.>r   c                     > T SS-     $ N
   d   r   rQ   s   r   rR   rS   I   s    aCjr   c                     > T S   $ Nr   rQ   s   r   rR   rS   J   	    aer   c                     > T S   $ )Nr   rQ   s   r   rR   rS   K   rd   r   c                  ,   > T [         R                  *    $ r   rY   rQ   s   r   rR   rS   L   s    aor   c                  2   > T [         R                  * S-
     $ rV   rY   rQ   s   r   rR   rS   M       aQ.?r   c                  2   > T [         R                  * S-
     $ )N   rY   rQ   s   r   rR   rS   N   ri   r   c                     > T SS-  *    $ r^   r   rQ   s   r   rR   rS   O   s    aSkr   )r>   r8   lenassertRaises
IndexErrorr@   s    @r   test_empty_sequence!BaseBytesTest.test_empty_sequenceB   s    NNQ#*l3*l3*&<=*&>?*&89*m4*m4*&=>*&?@*&?@*&9:r   c                    U R                  [        S5      5      nU R                  [        U5      S5        U R                  [	        U5      [	        [        S5      5      5        U R                  S15      nU R                  US5        U R                  SS15      nU R                  [        U5      SS15        U R                  [        [        S5      5      5      nU R                  [        U5      S5        U R                  [	        U5      [	        [        S5      5      5        U R                  S [        S5       5       5      nU R                  [        U5      S	5        U R                  [	        U5      [	        [        S5      5      S
S S2   5         " S S5      nU R                  U" 5       5      nU R                  US5        g )N   *      *+   -   )rv   rw   )rw   rv   c              3   <   #    U  H  oS -  (       d  M  Uv   M     g7f)rk   Nr   ).0is     r   	<genexpr>3BaseBytesTest.test_from_iterable.<locals>.<genexpr>b   s     :jE11js   	   rW   rk   c                       \ rS rSrS rSrg)+BaseBytesTest.test_from_iterable.<locals>.Sg   c                     SU   $ )NrW   rk      r   )r#   rz   s     r   __getitem__7BaseBytesTest.test_from_iterable.<locals>.S.__getitem__h   s     |#r   r   N)r-   r.   r/   r0   r   r1   r   r   r   Sr   g   s    $r   r      )r>   ranger8   rm   listassertIntupleiter)r#   rA   r   s      r   test_from_iterable BaseBytesTest.test_from_iterableQ   s\   NN5:&Q%a$uSz"23 NNB4 D!NNB8$eAh8 45 NN4c
+,Q%a$uSz"23 NN:eCj::Q%a$uSz"214a4"89	$ 	$ NN13O,r   c                     U R                  [        [        S5      5      5      nU R                  [	        U5      S5        U R                  [        U5      [        [        S5      5      5        U R                  S5      nU R                  US5        g Nrs   r   r   )r>   r   r   r8   rm   r   r@   s     r   test_from_tupleBaseBytesTest.test_from_tuplem   sh    NN5s,-Q%a$uSz"23NN9%O,r   c                 $   U R                  [        [        S5      5      5      nU R                  [	        U5      S5        U R                  [        U5      [        [        S5      5      5        U R                  / SQ5      nU R                  US5        g r   )r>   r   r   r8   rm   r@   s     r   test_from_listBaseBytesTest.test_from_listu   sh    NN4c
+,Q%a$uSz"23NN9%O,r   c                    ^  " U4S jS5      nU" 5       U" 5       /mU R                  [        T5      S5         " U4S jS5      nU" 5       /mU R                  [        T5      S5        g )Nc                   "   > \ rS rSrU 4S jrSrg)0BaseBytesTest.test_from_mutating_list.<locals>.X   c                 &   > TR                  5         gNrt   clearr#   rJ   s    r   r)   :BaseBytesTest.test_from_mutating_list.<locals>.X.__index__   s    	r   r   Nr-   r.   r/   r0   r)   r1   rJ   s   r   Xr      s     r   r   ru   c                   "   > \ rS rSrU 4S jrSrg)0BaseBytesTest.test_from_mutating_list.<locals>.Y   c                 F   > [        T5      S:  a  TR                  U 5        g)N  rt   )rm   appendr   s    r   r)   :BaseBytesTest.test_from_mutating_list.<locals>.Y.__index__   s    q6D=HHTNr   r   Nr   r   s   r   Yr           r   r   s  ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************r8   bytes)r#   r   r   rJ   s      @r   test_from_mutating_list%BaseBytesTest.test_from_mutating_list}   sY    	 	 S!#Jq4(	 	
 SEq;/r   c                 Z   U R                  [        5       [        S5      [        S5      [        S5      /5      nU R                  [        U5      / SQ5        U R	                  [
        U R                   [        S5      /5        U R	                  [
        U R                   [        S5      /5        g )NrW         r   rW   r   r   rc   rs   )r>   r   r8   r   rn   
ValueErrorr@   s     r   test_from_indexBaseBytesTest.test_from_index   sz    NNIK1y~%cN, -a"23*dnny}oF*dnny~6FGr   c                 *   U R                  [        R                  " S/ SQ5      5      nU R                  US5        U R                  S5      nU R                  US5         " S S[        5      nU R                  U R                  U" S5      5      S5        g )NBr   r   c                       \ rS rSrS rSrg))BaseBytesTest.test_from_buffer.<locals>.B   c                     [         er   )	TypeErrorr(   s    r   r)   3BaseBytesTest.test_from_buffer.<locals>.B.__index__   s    r   r   Nr   r   r   r   r   r      s     r   s   foobar)r>   arrayr8   r   )r#   rJ   r   s      r   test_from_bufferBaseBytesTest.test_from_buffer   st    NN5;;sI67O,NN?+O,	  	  	)5yAr   c                    U R                  U R                  S5      S5        U R                  U R                  S5      S5        U R                  U R                  S5      S5        U R                  [        U R                  S5        U R                  U R                  SS	5      S
5        U R                  U R                  S
5      S
5        U R                  [        U R                  [
        R                  S-   5        g )Nr   r   rW          s        rc   0ascii   0)r8   r>   rn   r   OverflowErrorrZ   r[   r(   s    r   test_from_ssizeBaseBytesTest.test_from_ssize   s    *C0*G4*,CD*dnnb9W5t<-t4-qIr   c                    U R                  [        U R                  S5         " S S5      nU R                  [        U R                  S/5        U R                  [        U R                  S/5        U R                  [        U R                  S /5        U R                  [        U R                  U" 5       /5        U R                  [        U R                  SS9  U R                  [        U R                  SS9  U R                  [        U R                  S	S5        U R                  [        U R                  S
S5        U R                  [        U R                  S	SS9  U R                  [        U R                  S
SS9  U R                  [        U R                  S5        U R                  [        U R                  SSS9  U R                  [        U R                  SS5        U R                  [        U R                  SSS5        g )Ng        c                       \ rS rSrSrg)5BaseBytesTest.test_constructor_type_errors.<locals>.C   r   Nr-   r.   r/   r0   r1   r   r   r   Cr          r   r   r   r   )encodingignore)errorsr   r   r   s   asciis   ignore)rn   r   r>   )r#   r   s     r   test_constructor_type_errors*BaseBytesTest.test_constructor_type_errors   s   )T^^S9	 	)T^^cU;)T^^cU;)T^^dV<)T^^acU;)T^^gF)T^^HE)T^^Q@)T^^S'B)T^^QxH)T^^SJ)T^^R8)T^^RI)T^^RB)T^^R)Lr   c                 ^   U R                  [        U R                  S/5        U R                  [        U R                  [        R                  * /5        U R                  [        U R                  [        R                  * S-
  /5        U R                  [        U R                  [        R                  * S-
  /5        U R                  [        U R                  SS-  * /5        U R                  [        U R                  S/5        U R                  [        U R                  S/5        U R                  [        U R                  [        R                  /5        U R                  [        U R                  [        R                  S-   /5        U R                  [        U R                  SS-  /5        g )Nrc   rW   rk   r_   r`   rs   i  )rn   r   r>   rZ   r[   r(   s    r   test_constructor_value_errors+BaseBytesTest.test_constructor_value_errors   s$   *dnnrd;*dnn|nE*dnn|A~6FG*dnn|A~6FG*dnnCxjA*dnnse<*dnnse<*dnns{{mD*dnns{{1}oF*dnnr3wi@r   c                     [         nU R                  [        [        4U R                  U5         [        US-
  5        g ! [        [        4 a     g f = f)N   )r   rn   r   MemoryErrorr>   	bytearray)r#   sizes     r   test_constructor_overflow'BaseBytesTest.test_constructor_overflow   sL    =+6M	 dQh{+ 		s   > AAc                     " S S5      nU R                  [        U R                  U" 5       5        U R                  [        U R                  U" 5       /5         " S S5      nU R                  [        U R                  U" 5       5        g )Nc                       \ rS rSrS rSrg)9BaseBytesTest.test_constructor_exceptions.<locals>.BadInt   c                     SS-    g NrW   r   r   r(   s    r   r)   CBaseBytesTest.test_constructor_exceptions.<locals>.BadInt.__index__   	    !r   r   Nr   r   r   r   BadIntr          r   r   c                       \ rS rSrS rSrg)>BaseBytesTest.test_constructor_exceptions.<locals>.BadIterable   c                     SS-    g r   r   r(   s    r   __iter__GBaseBytesTest.test_constructor_exceptions.<locals>.BadIterable.__iter__   r   r   r   N)r-   r.   r/   r0   r   r1   r   r   r   BadIterabler      r   r   r   )rn   ZeroDivisionErrorr>   )r#   r   r   s      r   test_constructor_exceptions)BaseBytesTest.test_constructor_exceptions   sg    	 	 	+T^^VXF+T^^fhZH	 	 	+T^^[]Kr   c                    U R                  / SQ5      nU R                  / SQ5      nU R                  SS/5      nU R                  X5        U R                  X#:g  5        U R                  X:*  5        U R                  X:*  5        U R                  X:  5        U R                  X:  5        U R                  X2:  5        U R                  X2:  5        U R                  X:g  5        U R                  X#:H  5        U R                  X:  5        U R                  X:  5        U R                  X:  5        U R                  X:  5        U R                  X2:  5        U R                  X2:*  5        g )Nr   rW   r   )r>   r8   
assertTrueassertFalse)r#   b1b2b3s       r   test_compareBaseBytesTest.test_compare   s    ^^I&^^I&^^QF# !!!!!!!""""""""r   c                    U R                  U R                  S5      S:H  S5        U R                  U R                  S5      S:H  S5        U R                  U R                  S5      S:H  S5        U R                  U R                  S5      S:H  S5        U R                  U R                  5       [        5       :H  S5        U R                  U R                  5       [        5       :g  S5        g )Ns    a b cabcFs      a   b   cs   a b c s   a   b   c   T)r8   r>   strr(   s    r   test_compare_to_str!BaseBytesTest.test_compare_to_str   s    
 	5>F(@AUJ!	#5>F(@AUJ!	#)SU2E:)SU2D9r   c                     [        [        [        S5      5      nU R                  U5      n[        [	        U5      5      nUR                  5         U R                  X15        g )NHello)r   mapordr>   reversedreverser8   )r#   inputrA   outputs       r   test_reversedBaseBytesTest.test_reversed
  sF    Sg&'NN5!hqk"'r   c                   ^  U 4S jnU" S5      nT R                  US S U" S5      5        T R                  USS U" S5      5        T R                  USS U" S5      5        T R                  USS  U" S	5      5        T R                  USS
 U" S	5      5        T R                  USS U" S	5      5        T R                  US S U" S5      5        T R                  USS U" S5      5        T R                  USS U" S5      5        T R                  USS  U" S	5      5        T R                  USS
 U" S	5      5        T R                  USS U" S	5      5        T R                  USS U" S5      5        g )Nc                 B   > TR                  [        [        U 5      5      $ r   )r>   r  r  )sr#   s    r   by'BaseBytesTest.test_getslice.<locals>.by  s    >>#c1+..r   Hello, worldr   r  rW   ello   z, world   r`   i)r8   r#   r  rA   s   `  r   test_getsliceBaseBytesTest.test_getslice  sd   	/~2A7,1QF,1QD*127,1R"W+.1S2g;/3BG-3rBvJ/2b2d8,23G-2b2g;/2cBwK04BwK0r   c                    [        [        S5      5      nU R                  U5      nSS SSSS[        R                  SSS	S
4nU HA  nU H8  nUSS   H,  nU R                  X$XV2   U R                  XXV2   5      5        M.     M:     MC     g )Nr   r   rW   r      r`   rc   rf   r  )r   r   r>   rZ   r[   r8   )r#   LrA   indicesstartstopsteps          r   test_extended_getslice$BaseBytesTest.test_extended_getslice%  s    sNN1dAq"c3;;BTJE#ABKD$$QT%7PT/HZ9[\ (   r   c           	      L   SnS HC  nU R                  X5      nU R                  X0R                  UR                  U5      5      5        ME     U R                  [        U R                   US5        U R                  USS5      nU R                  X0R                  US S S5      5        g )N   Hello world
ሴ噸骼utf-8zutf-16latin-1r   r)  )r>   r8   encodern   UnicodeEncodeErrorr#   sampleencrA   s       r   test_encodingBaseBytesTest.test_encoding0  s    2&Cv+AQv}}S/A BC ' 	,dnnfiPNN69h7NN6#2;@Ar   c                    SnS H5  nU R                  X5      nU R                  UR                  U5      U5        M7     SnU R                  US5      nU R                  [        UR                  S5        U R                  UR                  SS5      S5        U R                  UR                  SSS9S5        U R                  U R                  S	5      R                  5       S
5        g )Nr'  r(  u   Hello world
þÿr*  r)  r   zHello world
)r   r   s   ☃u   ☃)r>   r8   decodern   UnicodeDecodeErrorr.  s       r   test_decodeBaseBytesTest.test_decode9  s    2&Cv+AQXXc]F3 ' 1NN69-,ahh@'84oFGD(	* 	8??A8Lr   c                     SnSn[         R                  " SU R                  R                   SU< SU< SU< SU< SU< S	U< S
35      n[	        SSSU5      nU R                  UR                  SU5        g )NzBoom, 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-cr_   )textwrapdedentr>   r-   r   r8   rc)r#   invalid	encodingscodeprocs        r   test_check_encoding_errors(BaseBytesTest.test_check_encoding_errorsG  s     ,/	 $001 2" &. /6[ 9C DK+ 
N* +2 5( )0{ 3? @Gk J	Q/  /` %T5$="d+r   c                 8   U R                  S5      nU R                  XR                  5       5        U R                  S5      nU R                  XR                  S/S-  5      5        U R                  S5      nU R                  XR                  S/S-  5      5        g )Nr   r_   i'  )r>   r8   r@   s     r   test_from_intBaseBytesTest.test_from_int  s{    NN1NN,-NN2NNA3r623NN5!NNA3u956r   c                 V  ^^ U R                  S5      mU R                  S5      mU R                  TT-   S5        U R                  T[        S5      -   S5        U R                  [        S5      T-   S5        U R                  [        U4S j5        U R                  [        U4S j5        g )N   abc   def   abcdefs   defabcc                     > T S-   $ )Ndefr   )r   s   r   rR   +BaseBytesTest.test_concat.<locals>.<lambda>  s	    R%Zr   c                     > ST -   $ )Nr   r   )r   s   r   rR   rN    s	    URZr   )r>   r8   r   rn   r   )r#   r   r   s    @@r   test_concatBaseBytesTest.test_concat  s    ^^F#^^F#b),eFm+Y7v+Y7)%78)%78r   c                 D  ^ SU R                  S5      4 H  mU R                  TS-  S5        U R                  TS-  S5        U R                  TS-  S5        U R                  [        U4S j5        U R                  [        U4S j5        U R                  [        [
        45         T[        R                  -  nS S S 5        U R                  [        [
        45         T[        R                  -  mS S S 5        M     g ! , (       d  f       NJ= f! , (       d  f       GM
  = f)	NrI  r   	   abcabcabcr   r   rc   c                     > T S-  $ NQ	@r   rQ   s   r   rR   +BaseBytesTest.test_repeat.<locals>.<lambda>  s	    Tr   c                     > ST -  $ rU  r   rQ   s   r   rR   rW    s	    r   )r>   r8   rn   r   r   r   rZ   r[   r#   crA   s     @r   test_repeatBaseBytesTest.test_repeat  s    //AQUL1QUC(QVS)i)9:i)9:""M;#?@O A""M;#?@S[[  A@ 0 A@@@s   &C>D>
D	
D	c                     U R                  U R                  S5      S-  U R                  [        S5      /S-  5      5        g )N   xr`   x)r8   r>   r  r(   s    r   test_repeat_1charBaseBytesTest.test_repeat_1char  s3    -c14>>3s8*S.3QRr   c                 <  ^ U R                  S5      mU R                  [        S5      T5        U R                  [        [        S5      5      T5        U R	                  ST5        U R                  [        U4S j5        U R                  [        U4S j5        U R                  [        U4S j5        U R                  [        U4S j5        U R                  [        U4S j5        U R                  [        U4S	 j5        [        [        4 GH  nU R                  U" S
5      T5        U R                  U" S5      T5        U R                  U" S5      T5        U R                  U" S5      T5        U R                  U" S5      T5        U R                  U" S5      T5        U R                  U" S5      T5        U R	                  U" S5      T5        U R	                  U" S5      T5        U R	                  U" S5      T5        U R	                  U" S5      T5        GM     g )NrI  rJ      c                     > ST ;   $ )N,  r   rQ   s   r   rR   -BaseBytesTest.test_contains.<locals>.<lambda>  s	    cQhr   c                     > ST ;   $ rb   r   rQ   s   r   rR   rf    s	    bAgr   c                  0   > [         R                  S-   T ;   $ rV   rY   rQ   s   r   rR   rf    s    ckk!mq.@r   c                     > S T ;   $ r   r   rQ   s   r   rR   rf    s	    TQYr   c                  2   > [        [        S5      5      T ;   $ NrJ   )floatr  rQ   s   r   rR   rf    s    U3s8_-Ar   c                     > ST ;   $ rk  r   rQ   s   r   rR   rf    s	    SAXr   r      a   b   c   ab   bc   ac   ds   dabs   abd)
r>   r   r  intassertNotInrn   r   r   r   r   )r#   frA   s     @r   test_containsBaseBytesTest.test_contains  s   NN6"c#h"c#c(mQ'a *&67*o6*&@A)%67)%AB)%56	!AMM!C&!$MM!D'1%MM!D'1%MM!D'1%MM!E(A&MM!E(A&MM!F)Q'QuXq)QtWa(QvY*QvY* "r   c                 |   U R                  [        U R                  R                  5        U R                  [        U R                  R                  S5        U R	                  U R                  R                  S5      U R                  5       5        [        / SQ5      nU R	                  U R                  R                  S5      U5        U R	                  U R                  R                  S5      U5        U R	                  U R                  R                  S5      U5        S H<  nU R	                  U R                  R                  U5      U R                  5       5        M>     S H.  nU R                  [        U R                  R                  U5        M0     U R	                  U R                  R                  S	5      S
5        U R                  [        U R                  R                  S5        U R                  [        U R                  R                  S5        U R                  [        U R                  R                  S5        U R                  [        U R                  R                  S5        U R                  [        U R                  R                  S5        U R                  [        U R                  R                  S5        S Hf  u  p4U R                  [        5       nU R                  R                  U5        S S S 5        U R                  SU-  [        WR                  5      5        Mh     g ! , (       d  f       N;= f)NrW   r      rv   r4   1a2B30z  1A 2B  30   z
 1A
2B	30z	
 u       0000s     s   1BrJ   rtz1a b cd z12       34))z12 x4 56r   )z12 3x 56r   )z12 xy 56r   )u	   12 3ÿ 56r   zat position %s)
rn   r   r>   fromhexr8   r   r   r   r   	exception)r#   rA   rZ  dataposcms         r   test_fromhexBaseBytesTest.test_fromhex  sF   )T^^%;%;<)T^^%;%;Q?//3T^^5EF()//91=//0@A1E 	//@!D+AT^^33A68HI ,=Aj$..*@*@!D > 	//7A)T^^%;%;UC*dnn&<&<cB*dnn&<&<dC*dnn&<&<iH*dnn&<&<fE*dnn&<&<>NO	
ID "":."&&t, /MM*S0#bll2CD	
 /.s   L--
L;	c                    U R                  [        U R                  R                  5        U R                  [        U R                  R                  S5        U R	                  U R                  S5      R                  5       S5        U R	                  [        / SQ5      R                  5       S5        U R	                  U R                  S5      R                  5       S5        U R	                  [        S5      R                  5       S5        g )NrW   r   r   r{  1a2b30   +0)rn   r   r>   hexr8   r   
memoryviewr(   s    r   test_hexBaseBytesTest.test_hex  s    )T^^%7%78)T^^%7%7;,002B7#56::<hG8<<>IO488:HEr   c                    U R                  S5      nU R                  UR                  5       S5        U R                  [        5         UR                  S5        S S S 5        U R                  [        5         UR                  S5        S S S 5        U R                  UR                  SS5      S5        U R                  [
        5         UR                  S S5        S S S 5        U R                  [        5         UR                  S5        S S S 5        U R                  [        5         UR                  S5        S S S 5        U R                  [        5         UR                  S	5        S S S 5        U R                  [        5         UR                  [        S
5      5        S S S 5        U R                  UR                  SS5      S5        U R                  UR                  S5      S5        U R                  UR                  S5      S5        U R                  UR                  S5      S5        U R                  UR                  S5      S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        U R                  UR                  S5      S5        U R                  UR                  S5      S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        SnU R                  UR                  SS 5      S!5        g ! , (       d  f       GNr= f! , (       d  f       GNU= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f)"Ns   b901efr   xx:r      ÿ      rs   r   zb9 01 efr     zb901efr   r   zb9:01:ef   $zb9$01$efrW   rc   rk   zb9:01ef*rf   zb901*efs    {s   worldi   s   helloi   0.   zC7b7305000000776f.726c646902000000.730500000068656c.6c6f690100000030)r>   r8   r  rn   r   r   chr)r#   three_bytesr!   s      r   test_hex_separator_basics'BaseBytesTest.test_hex_separator_basics  s   nn_5*H5z*OOB +z*OOD! +a0(;y)OOD!$ *z*OOF# +z*OOG$ +z*OOG$ +z*OOCJ' +a0(;13CD02BC13CD02BCa0(;a0(;b18<-z:.
;a0*=b1:>a0)<a0*=b19=c3*,qrA +*** *)********sT   O6OO(7O:&PPP0
O
O%(
O7:
P	
P
P-0
P?c                 z    U R                  [        SS5      5      nU R                  UR                  5       S5        g )NZ   _   
5a5b5c5d5er>   r   r8   r  )r#   
five_bytess     r   test_hex_separator_five_bytes+BaseBytesTest.test_hex_separator_five_bytes
  s-    ^^E"RL1
)<8r   c                    U R                  S [        SS5       5       5      nU R                  UR                  5       S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S	5        U R                  UR                  S
S5      S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        g )Nc              3   *   #    U  H	  oS -  v   M     g7f)r   Nr   ry   r_  s     r   r{   =BaseBytesTest.test_hex_separator_six_bytes.<locals>.<genexpr>  s     "<1Q3s   rW   r  0306090c0f12r  z03.06.09.0c.0f.12 rk   z0306 090c 0f12-r   z030609-0c0f12r  r   z0306:090c0f12r   z03:06090c0f12   r  _r+  030609_0c0f12r  z0306090c:0f12   @r  z0306090c0f@12iir  )r#   	six_bytess     r   test_hex_separator_six_bytes*BaseBytesTest.test_hex_separator_six_bytes  sx   NN"<a"<<	.9sA.0CDsA.0@AsA.@sA.@sA.@sA.?sB/@sB/AsB/AtR0/BsB/@sC0.Ar   c                     U R                  U R                  S5      R                  / 5      S5        U R                  U R                  S5      R                  S/5      S5        S/SS/SS// SQ4 H  n[        [	        U R                  U5      5      nU R                  U R                  S5      R                  U5      S5        U R                  U R                  S5      R                  [        U5      5      S5        U R                  U R                  S5      R                  [        U5      5      S5        M     U R                  S5      R                  nU R                  U" SS	/5      S
5        U R                  U" [        S5      S	/5      S
5        U R                  U" S[        S	5      /5      S
5        U R                  U" [        S5      S	/5      S
5        U R                  U" S[        S	5      /5      S
5        S/S-  nSSS-  -   nU R                  U" U5      U5        S/S-  nSS-  nU R                  U R                  S5      R                  U5      U5        U R                  [        U R                  S5      R                  S 5        U R                  [        5         U" [        S5      SS/5        S S S 5        U R                  [        5         U" [        S5      SS/5        S S S 5        g ! , (       d  f       NA= f! , (       d  f       g = f)Nr   rI  rn  rr  rq  rp  )rn  ro  rp  s   .:s   cds   ab.:cdi s   .:abci     cds   ef)r8   r>   joinr   r  r   r   r  r   rn   r   )r#   lstdot_joinseqr:   s        r   	test_joinBaseBytesTest.test_join  s   ,11"5s;,113%8#>HtUmeT]<NOCs4>>3/0CT^^C055c:FCT^^C055eCjA6JT^^C055d3i@&I	 P
 >>%(--5%.19=:e#4e"<=yI5*U*;"<=yI9U#3U";<iH5)E*:";<iHhHu,,#1hF?,11#6A)T^^D%9%>%>E y)i&e45 *y)j'u56 *) *)))s   K.K?.
K<?
Lc                    U R                  S5      nSnSnSnU R                  UR                  S5      S5        U R                  UR                  S5      S5        U R                  UR                  S	5      S
5        U R                  UR                  U5      S5        U R                  UR                  U5      S
5        U R                  UR                  SS5      S5        U R                  UR                  SS5      S5        U R                  UR                  SSS5      S5        U R                  UR                  SSS5      S5        U R                  UR                  US5      S5        U R                  UR                  US5      S5        U R                  UR                  USS5      S5        U R                  UR                  USS5      S5        g )N   mississippii   p   w      ir      ssrk      wr   r     prW   r   r  	   )r>   r8   count)r#   rA   rz   pws        r   
test_countBaseBytesTest.test_count<  su   NN>**+*Q'Q'q)1-q)1-q!,a0q!,a0A*A*Aq)1-Aq)1-r   c                    U R                  S5      nU R                  U R                  5       R                  S5      5        U R                  UR                  S5      5        U R                  UR                  S5      5        U R                  UR                  S5      5        U R                  UR                  S5      5        U R                  UR                  S5      5        U R	                  [
        5       nUR                  S/5        S S S 5        [        WR                  5      nU R                  SU5        U R                  SU5        g ! , (       d  f       NH= f)	N   hello   anythings   hel   hs   hellows   har   r   )	r>   r   
startswithr   rn   r   r   r  r   r#   rA   r  excs       r   test_startswithBaseBytesTest.test_startswithS  s    NN8$)44[ABX./V,-T*+i01e,-y)RLL$  *",,gs#gs#	 *)s   5E


Ec                    U R                  S5      nU R                  [        5       R                  S5      5        U R	                  UR                  S5      5        U R	                  UR                  S5      5        U R	                  UR                  S5      5        U R                  UR                  S5      5        U R                  UR                  S5      5        U R                  [        5       nUR                  S/5        S S S 5        [        WR                  5      nU R                  SU5        U R                  SU5        g ! , (       d  f       NH= f)	Nr  r  s   llo   os   whellos   nor   r   )
r>   r   r   endswithr   rn   r   r   r  r   r  s       r   test_endswithBaseBytesTest.test_endswitha  s    NN8$--k:;

8,-

6*+

4()I./E*+y)RJJv *",,gs#gs#	 *)s   /E
Ec                    U R                  S5      nSnSnU R                  UR                  S5      S5        U R                  UR                  S5      S5        U R                  UR                  S5      S5        U R                  UR                  U5      S	5        U R                  UR                  U5      S5        U R                  UR                  SS
5      S5        U R                  UR                  SS	S5      S5        U R                  UR                  SS	S
5      S5        U R                  UR                  US5      S5        U R                  UR                  US	S
5      S	5        U R                  UR                  US	S
5      S5        SS[        R                  S	-   4 H%  nU R                  [        SUR                  U5        M'     g )Nr  r  r  r  rk   r  rc      mississippianrW   r   r   r  r  rs   zbyte must be in range\(0, 256\))r>   r8   findrZ   r[   assertRaisesRegexr   )r#   rA   rz   r  indexs        r   	test_findBaseBytesTest.test_findo  sq   NN>**r* 0126A&B'q)1-q!,a0q!,b11q)1a!,1a"-#s{{Q/E""> 0r   c                    U R                  S5      nSnSnU R                  UR                  S5      S5        U R                  UR                  S5      S5        U R                  UR                  S5      S5        U R                  UR                  U5      S	5        U R                  UR                  U5      S5        U R                  UR                  SS
5      S5        U R                  UR                  SSS5      S5        U R                  UR                  USS
5      S5        U R                  UR                  US
S5      S5        U R                  UR                  USS
5      S5        g )Nr  r  r  r  r   r  rc   r  r_   r   r   r  rk   rW   r  r  )r>   r8   rfindr#   rA   rz   r  s       r   
test_rfindBaseBytesTest.test_rfind  s#   NN>*++!12B7R(R(*A.1-q1Aq)1-Aq)1-Aq)2.r   c                    U R                  S5      nSnSnU R                  UR                  S5      S5        U R                  [        UR                  S5        U R                  [        UR                  S5        U R                  UR                  U5      S5        U R                  [        UR                  U5        U R                  UR                  SS	5      S
5        U R                  UR                  SSS5      S5        U R                  [        UR                  SSS	5        U R                  UR                  US5      S5        U R                  UR                  USS	5      S5        U R                  [        UR                  USS	5        g )Nr  r  r  r  rk   r  r  rW   r   r   r  r  )r>   r8   r  rn   r   r  s       r   
test_indexBaseBytesTest.test_index  s0   NN>*+*aggt4*agg/?@Q'*aggq1*A.1-q1*aggua;A*Aq)1-*aggq!Q7r   c                    U R                  S5      nSnSnU R                  UR                  S5      S5        U R                  [        UR                  S5        U R                  [        UR                  S5        U R                  UR                  U5      S5        U R                  [        UR                  U5        U R                  UR                  SS	5      S5        U R                  UR                  SS
S5      S5        U R                  UR                  USS	5      S5        U R                  UR                  US	S5      S5        U R                  [        UR                  USS	5        g )Nr  r  r  r  r   r  r  r_   r   r   r  rk   rW   r  r  )r>   r8   rindexrn   r   r  s       r   test_rindexBaseBytesTest.test_rindex  s   NN>*%!,*ahh5*ahh0@A!b)*ahh2%+Q/%A.2!Q*A.!Q*A.*ahh1a8r   c                   ^  T R                  S5      nUnUS-  nT R                  US5        T R                  US5        T R                  XL 5        T R                  S5      nUS-  nT R                  US5        T R                  [	        U5      T R                   5        T R                  S5      nUS-  nT R                  US5        T R                  [	        U5      T R                   5        U 4S	 jnU" S
SS0S5        U" SSSS.S5        U" S
SSS.S5        U" SSS5        U" SSS5        U" SSS5        U" SSS5        U" SSS5        U" SS S!5        U" S"S#S#5         " S$ S%5      nU" S&5      nS'S(S)S*S+U4S,S-S.S/S0S1S2S"U4/nU H;  u  pn
T R                  [        U5         [        R                  " X5        S S S 5        M=     g ! , (       d  f       MO  = f)3N
   hello, %b!   world   hello, world!   %s / 100 = %d%%s   seventy-nineO      seventy-nine / 100 = 79%
   hello, %b!   hello, world!c                    > TR                  U 5      nX1-  nTR                  X25        TR                  [        U5      TR                   5        g r   )r>   r8   r6   r7   )fmtvalsresultrA   r#   s       r   check%BaseBytesTest.test_mod.<locals>.check  s<    s#AAQ'MM$q'4>>2r   s   ...%(foo)b...   foorI  s	   ...abc...s   ...%(f(o)o)b...s   bar)s   f(o)or   {   )r   rJ  s   %*b)r   rI  s     abc)r  rI  s   abc  s   %*.*b)r   rk   rI  s      ab)r   r   rI  s   %i %*.*b)r_   r   r   rI  s   10   abcs
   %i%b %*.*b)r_      3r   r   rI  s	   103   abc   %crn  c                        \ rS rSrS rS rSrg)+BaseBytesTest.test_mod.<locals>.PseudoFloati  c                 $    [        U5      U l        g r   )rl  r!   r"   s     r   r$   4BaseBytesTest.test_mod.<locals>.PseudoFloat.__init__  s    "5\
r   c                 ,    [        U R                  5      $ r   )ru  r!   r(   s    r   __int__3BaseBytesTest.test_mod.<locals>.PseudoFloat.__int__  s    4::&r   r    N)r-   r.   r/   r0   r$   r	  r1   r   r   r   PseudoFloatr    s    *'r   r  go!	@)z,%x format: an integer is required, not float   %xrV  )z,%X format: an integer is required, not float   %XgzG @)z,%o format: an integer is required, not float   %ogp=
ף?z2%x format: an integer is required, not PseudoFloatr  )z.%x format: an integer is required, not complexr                @)z.%X format: an integer is required, not complexr                 @)z.%o format: an integer is required, not complexr  y              ?)z1%u format: a real number is required, not complexs   %ur  )1%d format: a real number is required, not complexs   %ir  )r     %dr  z7%c requires an integer in range\(256\) or a single byte)	r>   r8   r   r6   r7   r  r   operatormod)r#   rA   origrJ   r  r  piexceptions_paramsmsgformat_bytesr!   s   `          r   test_modBaseBytesTest.test_mod  s   NN=)L,-}-#NN-.%%78d1gt~~.NN+,L/0d1gt~~.	3 	> F6"BLQc :LIflH-fmX.h2h2k.<m6EeT4 	' 	'   JIIA5"MIIIL MLJr
& ):$Cu''	37\1 87 ):77s   G
G	c                    U R                  S5      nUnUS-  nU R                  US5        U R                  US5        U R                  XL 5        U R                  S5      nUS-  nU R                  US5        U R                  [	        U5      U R                   5        U R                  S5      nUS-  nU R                  US5        U R                  [	        U5      U R                   5        g )	Nr  r  r  r  r  r  r  r  )r>   r8   r   r6   r7   )r#   rA   r  s      r   	test_imodBaseBytesTest.test_imod  s    NN=)	X,-}-#NN-.	""78d1gt~~.NN+,	X/0d1gt~~.r   c                    U R                  [        5         [        5       U R                  S5      -    S S S 5        U R	                  U R                  S5      R                  S5      [        5        g ! , (       d  f       NC= f)NrI  z%r)rn   r   objectr>   r6   __rmod__NotImplementedr(   s    r   	test_rmodBaseBytesTest.test_rmod  sS    y)Ht~~f-- *dnnV,55d;^L *)s   A00
A>c                     U R                  S5      nU R                  UR                  SS5      S5        U R                  UR                  SS5      S5        g )Nr  r  rn  s   massassappar  r^  s	   mixixippi)r>   r8   replacer@   s     r   test_replaceBaseBytesTest.test_replace  sF    NN>*4.?5$/>r   c                 f    U R                  [        U R                  S5      R                  SS5        g )N   a b    r   )rn   r   r>   r&  r(   s    r   test_replace_int_error$BaseBytesTest.test_replace_int_error  s%    )T^^F%;%C%CRMr   c                     U R                  [        U R                  S5      R                  S5        U R                  [        U R                  S5      R                  S5        g Nr*  r  rn   r   r>   splitrsplitr(   s    r   test_split_string_error%BaseBytesTest.test_split_string_error"  sD    )T^^F%;%A%A3G)T^^F%;%B%BCHr   c                     U R                  [        U R                  S5      R                  S5        U R                  [        U R                  S5      R                  S5        g Nr*  r+  r0  r(   s    r   test_split_int_error"BaseBytesTest.test_split_int_error&  sD    )T^^F%;%A%A2F)T^^F%;%B%BBGr   c                     S H5  nU R                  U5      nU R                  UR                  5       U/5        M7     U R                  S5      nU R                  UR                  5       S/5        g )N)s   abs   abs   abs   ab	   	
   )r>   r8   r1  r@   s     r   test_split_unicodewhitespace*BaseBytesTest.test_split_unicodewhitespace*  s]    =Aq!AQWWY, > NNBC%8$9:r   c                 h    U R                  S5      nU R                  UR                  5       S/5        g )Nr:  r;  )r>   r8   r2  r@   s     r   test_rsplit_unicodewhitespace+BaseBytesTest.test_rsplit_unicodewhitespace1  s+    NNBC&9%:;r   c                     U R                  S5      nU R                  UR                  S5      S5        U R                  UR                  S5      S5        g )Nr  r  )s   mir  s   issippir  )r  r   r   )r>   r8   	partitionr@   s     r   test_partitionBaseBytesTest.test_partition5  sD    NN>*U+-GHT*,FGr   c                     U R                  S5      nU R                  UR                  S5      S5        U R                  UR                  S5      S5        U R                  UR                  S5      S5        g )Nr  r  )s   missir  s   ippir  )s
   mississippr  r   r  )r   r   r  )r>   r8   
rpartitionr@   s     r   test_rpartitionBaseBytesTest.test_rpartition:  s^    NN>*e,.HId+-GHd+-GHr   c                     U R                  [        U R                  S5      R                  S5        U R                  [        U R                  S5      R                  S5        g r/  rn   r   r>   rB  rF  r(   s    r   test_partition_string_error)BaseBytesTest.test_partition_string_error@  sD    )T^^F%;%E%EsK)T^^F%;%F%FLr   c                     U R                  [        U R                  S5      R                  S5        U R                  [        U R                  S5      R                  S5        g r6  rJ  r(   s    r   test_partition_int_error&BaseBytesTest.test_partition_int_errorD  sD    )T^^F%;%E%ErJ)T^^F%;%F%FKr   c                     [        [        R                  S-   5       HZ  nS HQ  nU R                  U5      n[        R                  " X!5      n[        R
                  " U5      nU R                  X$5        MS     M\     g NrW   )r   rn  rI  s   abs       )r   pickleHIGHEST_PROTOCOLr>   dumpsloadsr8   )r#   protorA   psqs        r   test_picklingBaseBytesTest.test_picklingH  s_    622Q67EFNN1%\\!+LL$  &	 G 8r   c                    [        [        R                  S-   5       GH#  nS GH  n[        U R	                  U5      5      =p4[        U R	                  U5      5      n[        R                  " X15      n[        R                  " U5      nU R                  [        U5      [        U5      5        U R                  [        U5      U5        [        R                  " U5      nU(       d  M  [        U5        [        R                  " X15      n[        R                  " U5      nU R                  [        U5      USS  5        GM     GM&     g rQ  )r   rR  rS  r   r>   r   rT  rU  r8   r7   next)r#   rV  rA   ititorgr  ds          r   test_iterator_pickling$BaseBytesTest.test_iterator_picklingP  s    622Q67EF!$.."344DNN1-.LL+\\!_  ed2h7  b40\\!_RLL+\\!_  b484 G 8r   c                 Z   U R                  U R                  S5      R                  [        S5      5      S5        U R                  U R                  S5      R	                  [        S5      5      S5        U R                  U R                  S5      R                  [        S5      5      S5        g )NrI  rs  ro  rr  rq  )r8   r>   stripr  lstriprstripr(   s    r   test_strip_bytearray"BaseBytesTest.test_strip_bytearrayb  s}    /55j6GH$O/66z%7HI5Q/66z%7HI5Qr   c                 $   U R                  [        U R                  S5      R                  S5        U R                  [        U R                  S5      R                  S5        U R                  [        U R                  S5      R
                  S5        g )NrI  acrn   r   r>   rc  rd  re  r(   s    r   test_strip_string_error%BaseBytesTest.test_strip_string_errorg  se    )T^^F%;%A%A4H)T^^F%;%B%BDI)T^^F%;%B%BDIr   c                 $   U R                  [        U R                  S5      R                  S5        U R                  [        U R                  S5      R                  S5        U R                  [        U R                  S5      R
                  S5        g )Ns    abc r+  rj  r(   s    r   test_strip_int_error"BaseBytesTest.test_strip_int_errorl  se    )T^^H%=%C%CRH)T^^H%=%D%DbI)T^^H%=%D%DbIr   c           	          U R                  S5      n[        [        4 H:  nU R                  UR	                  SU" S5      5      U R                  S5      5        M<     g )NrI  r     -s   --abc--)r>   r   r   r8   centerr#   rA   	fill_types      r   test_centerBaseBytesTest.test_centerq  sJ    NN6"+IQXXa49!^^J79 ,r   c           	          U R                  S5      n[        [        4 H:  nU R                  UR	                  SU" S5      5      U R                  S5      5        M<     g )NrI  r  rq  s   abc----)r>   r   r   r8   ljustrs  s      r   
test_ljustBaseBytesTest.test_ljustx  J    NN6"+IQWWQ	$8!^^J79 ,r   c           	          U R                  S5      n[        [        4 H:  nU R                  UR	                  SU" S5      5      U R                  S5      5        M<     g )NrI  r  rq  s   ----abc)r>   r   r   r8   rjustrs  s      r   
test_rjustBaseBytesTest.test_rjust  r{  r   c                 *   U R                  [        U R                  S5      R                  SS5        U R                  [        U R                  S5      R                  SS5        U R                  [        U R                  S5      R
                  SS5        g )NrI  r  r+  )rn   r   r>   rr  rx  r}  r(   s    r   test_xjust_int_error"BaseBytesTest.test_xjust_int_error  sk    )T^^F%;%B%BArJ)T^^F%;%A%A1bI)T^^F%;%A%A1bIr   c                     U R                  S5      nU R                  [        [        U5      5       Vs/ s H  n[	        XUS-    5      PM     sn/ SQ5        g s  snf )Ns    ArW   )r   A   r   r}   r   )r>   r8   r   rm   r  )r#   rA   rz   s      r   test_ordBaseBytesTest.test_ord  sJ    NN-.s1v?A#a!A#h-?/	1?s   Ac                 l   SnU R                  U R                  R                  SS5      U5        SnU R                  U R                  R                  SS5      U5        U R                  [        U R                  R                  SS5        U R                  [
        U R                  R                  SS5        g )	Ns    	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`xyzdefghijklmnopqrstuvwxyz{|}~rI     xyzs    	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~xyzs   s   xyzqr   rM  )r8   r>   	maketransrn   r   r   )r#   
transtables     r   test_maketransBaseBytesTest.test_maketrans  s     ~
11&&A:N u
11/6JJW*dnn&>&>P)T^^%=%=ueLr   c                 H   U R                  S5      nU R                  S5      nU R                  S5      nU R                  S5      nU R                  S5      nU R                  SUR                  US 5      5        U R                  SUR                  USS 5      5        U R                  SUR                  US S5      5        U R                  S	UR                  US S 5      5        U R                  SUR                  US 5      5        U R                  SUR                  USS 5      5        U R                  SUR                  US S5      5        U R                  S	UR                  US S 5      5        U R                  SUR	                  US 5      5        U R                  SUR	                  USS 5      5        U R                  SUR	                  US S5      5        U R                  S	UR	                  US S 5      5        U R                  SUR                  US 5      5        U R                  SUR                  USS 5      5        U R                  SUR                  US S5      5        U R                  S	UR                  US S 5      5        U R                  SUR                  US 5      5        U R                  S
UR                  USS 5      5        U R                  S
UR                  US S5      5        U R                  S	UR                  US S 5      5        U R                  SUR                  US 5      5        U R                  SUR                  USS 5      5        U R                  SUR                  US S5      5        U R                  SUR                  US S 5      5        U R                  SUR                  US 5      5        U R                  SUR                  USS 5      5        U R                  SUR                  US S5      5        U R                  SUR                  US S 5      5        g )Nr     lr  r^  r  rk   r   rf   r   rW   TF)	r>   r8   r  r  r  r  r  r  r  )r#   rA   lhr_  os         r   test_none_arguments!BaseBytesTest.test_none_arguments  se   NN8$NN4 NN4 NN4 NN4 AFF1dO,AFF1b$/0AFF1dB/0AFF1dD12AGGAt,-AGGAr401AGGAtR01AGGAtT23AGGAt,-AGGAr401AGGAtR01AGGAtT23AHHQ-.AHHQD12AHHQb12AHHQd34AGGAt,-AGGAr401AGGAtR01AGGAtT23qzz!T23qzz!R67qzz!T267

1dD 9:q||At45q||Ar489q||AtR89Qd ;<r   c                 0   U R                  S5      nUR                  UR                  UR                  UR                  UR
                  4 HH  nU R                  [        US5        U R                  [        US5        U R                  [        US5        MJ     g )Nr  rc   rs   i'  )r>   r  r  r  r  r  rn   r   )r#   rA   methods      r   (test_integer_arguments_out_of_byte_range6BaseBytesTest.test_integer_arguments_out_of_byte_range  sp    NN8$ww!((CFj&"5j&#6j&$7 Dr   c           	      N   U R                  S5      nU R                  S5      nU R                  [        SUR                  US S S 5        U R                  [        SUR                  US S S 5        U R                  [        SUR
                  US S S 5        U R                  [        SUR                  US S S 5        U R                  [        SUR                  US S S 5        U R                  [        SUR                  US S S 5        U R                  [        S	UR                  US S S 5        g )
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#   rA   r_  s      r   *test_find_etc_raise_correct_error_messages8BaseBytesTest.test_find_etc_raise_correct_error_messages  s   NN8$NN4 y+qvv !4t	5y, !4t	5y, !4t	5y- !4t	5y, !4t	5y*;Q\\ !4t	5y/1:: !4t	5r   c                     [         R                  R                  U [        U R                  5        [         R                  R                  U [
        U R                  5        g r   )testsupportcheck_free_after_iteratingr   r>   r  r(   s    r   test_free_after_iterating'BaseBytesTest.test_free_after_iterating  s6    //dDNNK//hOr   c           	         U R                  S5      n[        [        S5      5      n[        S5      U[        S5      '   U R	                  [
        UR                  5        U R	                  [
        UR                  S S 5        U R	                  [        UR                  [        [        S5      5      5        UR                  US5      nU R                  US5        U R                  X0R                   5        UR                  U5      nUR                  US5      nU R                  X45        U R                  US5        UR                  US5      nU R                  US	5        UR                  S S
5      nU R                  US5        UR                  USS9nU R                  US5        UR                  USS9nU R                  US	5        UR                  S S
S9nU R                  US5        g )Nr  rs   er  r   r   s   heller  s   hee   es   hllo)delete)r>   r   r   r  rn   r   	translater   r   r8   assertIsInstance)r#   rA   rosettarZ  r_  s        r   test_translateBaseBytesTest.test_translate  s   NN8$E#J'HC)Q[[1)Q[[$=*akk5s3DEKK*H%a0KK KK%H%KK&F#KKd#G$ KKK,H%KKK-F#KKTK*G$r   c                    [         R                  " S5      nU R                  S5      nU R                  [        5         UR                  US5        S S S 5        U R                  [        5         UR                  US5        S S S 5        U R                  UR                  US5      S5        g ! , (       d  f       Na= f! , (       d  f       NB= f)N_testlimitedcapi)rt   rf   rW   r   rt   )r   import_moduler>   rn   ro   sequence_getitemr8   )r#   r  objs      r   test_sq_itemBaseBytesTest.test_sq_item  s    (667IJnnU#z*--c26 +z*--c15 +)::3BBG	 +***s   B+-B<+
B9<
C
r   N)Nr-   r.   r/   r0   r;   rB   rL   rp   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
  r  r$  r1  r6  rC  rF  rP  r[  r`  rx  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r'  r,  r3  r7  r<  r?  rC  rG  rK  rN  rY  r`  rf  rk  rn  ru  ry  r~  r  r  r  r  r  r  r  r  r  r1   r   r   r   r3   r3   0   s   +6
/;-8--0"HBJM&
A  L#. : :(1(	]BM6,p79!S+0#EJF#sJ9B 7<..$$2/&8(9&@2D/"M
?
NIH;<H
IML'5$R
J
J
999J
1
M)=V85&P%>Hr   r3   c                   B    \ rS rSr\rS rS rS rS r	S r
S rS rS	rg
)	BytesTesti  c                    SnU R                  UR                  5       U5        U R                  [        UR                  5       5      U R                  5         " S S[        5      nU" S5      nU R                  UR                  5       U5        U R                  [        UR                  5       5      U R                  5        g )Ns   foo barc                       \ rS rSrSrg)/BytesTest.test__bytes__.<locals>.bytes_subclassi  r   Nr   r   r   r   bytes_subclassr    r   r   r  s   bar foo)r8   	__bytes__r7   r>   r   )r#   foor  bars       r   test__bytes__BytesTest.test__bytes__  s    #.cmmo.?	U 	 ]+#.cmmo.?r   c                 v    SnSnU R                  [        U5         US     S S S 5        g ! , (       d  f       g = f)N   pythonz'byte indices must be integers or slicesrJ   )r  r   r#   rA   r  s      r   test_getitem_errorBytesTest.test_getitem_error  s/    7##Is3cF 433s   *
8c                     [         R                  " [        [         R                  5      n[        USSS9 nU R	                  [
        UR                  S5        S S S 5        g ! , (       d  f       g = f)Nrbr   )	bufferingr   )osopen__file__O_RDONLYrn   r   readinto)r#   fdrw  s      r   test_buffer_is_readonly!BytesTest.test_buffer_is_readonly   sF    WWXr{{+"da(AiS9 )((s   "A  
A.c           	         U R                  [        [        S5      5      S5        U R                  [        [        S5      5      [        S5      5        U R                  [        [	        S5      5      S5        U R                  [        [	        S5      5      [        S5      5         " S S5      nU R                  [        [        U" 5       5        U R                  [        [        [	        S5      5        U R                  [        [        [	        S 5      5         " S S5      nU R                  [        U" 5       5      S5         " S S	[        5      nU R                  [        U" S5      5      S5        U R                  [        U" S5      S
5      S5        U R                  [        U" [        S5      5      5      S5        U R                  [        U" S5      5      [        S5      5        U R                  [        U" S5      S
5      [        S5      5        U R                  [        U" [        S5      5      5      [        S5      5        U R                  [        U" [        S5      5      5      [        S5      5        U R                  [        [	        [        S5      5      5      [        S5      5        U R                  [        [	        [        S5      5      5      [        S5      5        U R                  [        [	        [        S5      5      5      [        S5      5         " S S[        5      nU R                  [        U" S5      5      S5        U R                  [        U" S5      5      [        S5      5        U R                  [        U" [        S5      5      5      [        S5      5        U R                  [        U" [        S5      5      5      [        S5      5        U R                  [        U" [        S5      5      5      [        S5      5        g )NrI  c                       \ rS rSrSrg)&BytesTest.test_custom.<locals>.NoBytesi,  r   Nr   r   r   r   NoBytesr  ,  s    tr   r  r   c                        \ rS rSrS rS rSrg)-BytesTest.test_custom.<locals>.IndexWithBytesi0  c                     g)Nrn  r   r(   s    r   r  7BytesTest.test_custom.<locals>.IndexWithBytes.__bytes__1  s    r   c                     gr   r   r(   s    r   r)   7BytesTest.test_custom.<locals>.IndexWithBytes.__index__3  s    r   r   N)r-   r.   r/   r0   r  r)   r1   r   r   r   IndexWithBytesr  0  s    r   r  rn  c                        \ rS rSrS rS rSrg)+BytesTest.test_custom.<locals>.StrWithBytesi7  c                 >    [         R                  U S5      nXl        U$ )Nu   €)r   __new__r!   clsr!   r#   s      r   r  3BytesTest.test_custom.<locals>.StrWithBytes.__new__8  s    {{31"
r   c                     U R                   $ r   r    r(   s    r   r  5BytesTest.test_custom.<locals>.StrWithBytes.__bytes__<      zz!r   r    Nr-   r.   r/   r0   r  r  r1   r   r   r   StrWithBytesr  7      "r   r  z
iso8859-15   c                        \ rS rSrS rS rSrg)-BytesTest.test_custom.<locals>.BytesWithBytesiO  c                 >    [         R                  U S5      nXl        U$ )Nr  )r   r  r!   r  s      r   r  5BytesTest.test_custom.<locals>.BytesWithBytes.__new__P  s    }}S'2"
r   c                     U R                   $ r   r    r(   s    r   r  7BytesTest.test_custom.<locals>.BytesWithBytes.__bytes__T  r  r   r    Nr  r   r   r   BytesWithBytesr  O  r  r   r  )	r8   r   BytesSubclassOtherBytesSubclass	WithBytesrn   r   r   r;   )r#   r  r  r  r  s        r   test_customBytesTest.test_custom%  s   }V45v>'9&'AB&v.	0y016:y'89=;PQ)UGI6)UIe,<=)UIdO<	 	
 	~/0$7	"3 	" 	|F34f=|F3\BGL|M&,ABCVL|F';<mF>ST|F';\J&w/	1|M&4I'JK&v.	0|4Fv4N'OP&v.	0 	eImF.C$DE}U[G\]mImF6K,LM+F3	5mI6H6P,QR+F3	5	"U 	" 	eN6$:;VDmN6,BC+F3	5eN=3H$IJ+F3	5mN=;P,QR+F3	5mN;Mf;U,VW+F3	5r   c                 N	  ^ [         R                  " S5      n[         R                  " S5      nSSKJnJn  SSKJnJnJnJnJ	n	J
n
Jn  UR                  nU4Ul        XLl        U R                  U" S5      S5        U R                  U" SS5      S	5        U R                  U" S
U" S5      5      S5        U R                  U" S
U" [!        S5      5      5      S5        U R                  U" S
U" S5      5      S5        U R                  U" SU" S5      U" S5      U	" S5      5      S5        U R                  U" SU" S5      U" S5      U	" S5      5      S5        U R                  U" SU" S5      U" S5      U	" S5      5      S5        U R                  U" SU" S5      5      S5        U R                  U" SU" S 5      5      S!5        U R                  U" S"U" S#5      5      S$5        UR#                  U5      n[$        R&                  S%:X  a  S&R)                  SU-  5      mU4S' jnOS( nS)nU R                  U" S*U" U5      5      S+U" U5      -   R+                  S,5      5        U R                  U" S-U" S.5      5      S/5        U	" S5      R,                  nS0XRR.                  [0        4S0XRR2                  [0        4S1XrR4                  [0        4S1XrR6                  [0        4S2XR8                  [0        4S3XR:                  [0        4S3XR<                  [0        4S4U	U[0        4S5UUU44	 H=  u  nnnnU R                  U" UU" U5      5      U" U5      R+                  S,5      5      4  M?     U R                  U" S6S75      S75        U R                  U" S8S95      S:5        U R                  U" S;5      S<5        U R                  U" S=5      S>5        U R                  U" S?U" [!        S@5      5      5      SA5        U R                  U" SB5      SC5        U R                  U" S<5      S<5        U R                  U" SDU" S5      U" S5      5      SE5        U R?                  [@        USFU" S5      5        U R?                  [@        USFU" SG5      5        U R                  U" SH5      SH5        U R                  U" SCSH5      SH5        g )INctypes	_testcapir   )	pythonapi	py_object)c_intc_uintc_longc_ulongc_size_t	c_ssize_tc_char_ps   formats
   Hello %s !r  s   Hello world !s   c=%cs   c= @s   c=@r   s   c=s   d=%d ld=%ld zd=%zdrW   rk   r   s   d=1 ld=2 zd=3rc   rf   r+  s   d=-1 ld=-2 zd=-3s   u=%u lu=%lu zu=%zur  i  i  s   u=123 lu=456 zu=789s   i=%is   i=123is   i=-123s   x=%xi
  s   x=abcntz0x%0{}Xc                    > TU -  $ r   r   )ptr
ptr_formats    r   ptr_formatter1BytesTest.test_from_format.<locals>.ptr_formatter  s    "S()r   c                     SU -  $ )Nz%#xr   )r   s    r   r  r    s    s{"r   iͫ s   ptr=%pzptr=r   s   s=%ss   cstrs   s=cstrr  s   %lds   %lus   %zds   %zus   %ps   %5srn  s   %.3srK  rI  s   %%   %s   [%%]s   [%]s   %%%cr  s   %_s   %%ss   %ss   x=%i y=%s   x=2 y=%r  rs   r   )!r   r  r  r  r  r  r  r  r  r  r  r  PyBytes_FromFormatargtypesrestyper8   r  sizeofr  nameformatr,  r!   INT_MINr   INT_MAXLONG_MINLONG_MAX	ULONG_MAXPY_SSIZE_T_MINPY_SSIZE_T_MAXrn   r   )r#   r  r  r  r  r  r  r  r  r  r  r  r  
sizeof_ptrr  r   size_max	formatstrctypes_typer!   py_formatterr  s                        @r   test_from_formatBytesTest.test_from_formata  s   ,,X6!//<	/	 	 	 '99'/k#%." 	+I6"	$+M8D)	+ 	+GU1X> 	"+GU3s8_E	!+GU3Z@"	$+,A,1!HfQi,4QK9 *	+ 	+,A,1"Ivbz,4RL: -	. 	+,A,23K,4SM; 0	1 	+GU3Z@!	#+GU4[A"	$+GU5\B!	# ]]8,
77d?"))!j.9J*# +Ix}E =#55==gF	H+GXg5FG"	$ B<%%E,,c2E,,c2V//5V//5W1137Y 8 8#>Y 8 8#>Xx-Hh6
<
7I{E< /	;u;MN)%077@B C
<
 	+FD9	+GY?	! 	+E2	+G4	!+GU3s8_E	 +F3	  	+D148+Kq58L#	%
 	-,eU2Y	@-,eU3Z	A 	+C0	+E37	r   c                 |    " S S[         5      n/ SQnU R                  [        U5      S5        U R                  [        [        U" U5      5         " S S[
        5      nU R                  [        S5      S5        U R                  [        [        U" S5      5         " S	 S
[        5      nU R                  [        S5      S5        U R                  [        [        U" S5      5         " S S[        5      n[        S5      U" S5      pvU R                  [        U5      S5        U R                  [        [        U5        g )Nc                       \ rS rSrSrSrg)7BytesTest.test_bytes_blocking.<locals>.IterationBlockedi  Nr   r-   r.   r/   r0   r  r1   r   r   r   IterationBlockedr        Ir   r  )r   rW   rk   r   s    c                       \ rS rSrSrSrg)1BytesTest.test_bytes_blocking.<locals>.IntBlockedi  Nr   r  r   r   r   
IntBlockedr!    r  r   r"  r   s      c                       \ rS rSrSrSrg);BytesTest.test_bytes_blocking.<locals>.BytesSubclassBlockedi  Nr   r  r   r   r   BytesSubclassBlockedr$    r  r   r%  rq  c                       \ rS rSrSrSrg)4BytesTest.test_bytes_blocking.<locals>.BufferBlockedi  Nr   r  r   r   r   BufferBlockedr'    r  r   r(  )r   r8   r   rn   r   ru  r   )r#   r  rz   r"  r%  r(  babbs           r   test_bytes_blockingBytesTest.test_bytes_blocking  s    	t 	q#67)U,<Q,?@
	 	q9-)UJqM:	5 	uu-)U,@,GH	I 	5!=#7BrE*)UB/r   c                    SnSnU R                  [        U5      [        U5      5        U R                  [        U5      [        U5      5        U R                  [        U5      [        US-  5      5        U R                  [        U5      [        US-  5      5        U R                  [        U5      [        US-  5      5        U R                  [        U5      [        SU-  5      5        U R                  [        U5      [        US-  5      5         " S S[        5      nU" S	5      nU R                  [        U5      [        U5      5        U R                  [        U5      [        US-  5      5        U R                  [        U5      [        US-  5      5        U R                  [        U5      [        US-  5      5        U R                  [        U5      [        SU-  5      5        U R                  [        U5      [        US-  5      5        g )
Ns   123abc1@s   456zyx-+r  r   rW   rk   c                       \ rS rSrSrg)5BytesTest.test_repeat_id_preserving.<locals>.SubBytesi  r   Nr   r   r   r   SubBytesr/    r   r   r0  s   qwerty())r8   idassertNotEqualr   )r#   rJ   rA   r0  r  s        r   test_repeat_id_preserving#BytesTest.test_repeat_id_preserving  s   A1&BqE2a5)BqE2a"f:.BqE2a!e9-A1q5	*A1q5	*BqE2a!e9-	u 	 [!A1&BqE2a"f:.BqE2a!e9-BqE2a!e9-BqE2a!e9-BqE2a!e9-r   r   N)r-   r.   r/   r0   r   r>   r  r  r  r  r  r+  r3  r1   r   r   r   r  r    s.    I
@:
95xpd0<.r   r  c                      \ rS rSr\r\R                  " S5      rS r	S r
S rS rS rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"S r#S r$S r%S  r&\'RP                  RR                  S! 5       r*S" r+\'RX                  RZ                  R\                  r.S# r/S$ r0S% r1S& r2S'r3g())ByteArrayTesti  r  c                     [        S5      nSnU R                  [        U5         US     S S S 5        g ! , (       d  f       g = f)Nr  ,bytearray indices must be integers or slicesrJ   r   r  r   r  s      r   r   ByteArrayTest.test_getitem_error  s4    i <##Is3cF 433	   3
Ac                     [        S5      nSnU R                  [        U5         SUS'   S S S 5        g ! , (       d  f       g = f)Nr  r8  pythonrJ   r9  r  s      r   test_setitem_error ByteArrayTest.test_setitem_error  s6    i <##Is3AcF 433r;  c                 J    U R                  [        [        [        5       5        g r   )rn   r   hashr   r(   s    r   test_nohashByteArrayTest.test_nohash  s    )T9;7r   c                 l   SnUSS[        U5      -
  -  -   n[        R                  " 5       n [        US5       nUR	                  U5        S S S 5        [        US5       n[        S5      nUR                  U5      nS S S 5        U R                  W[        U5      5        U R                  [        W5      [        U5      5        [        US5       nUR	                  U5        S S S 5        [        US5       nU R                  UR                  5       U5        S S S 5         [        R                  " U5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N}= f! , (       d  f       NY= f! [         a     g f = f!  [        R                  " U5        f ! [         a     f f = f= f)Ns   Hello world
r      wbr  )rm   tempfilemktempr  writer   r  r8   r   readr  removeOSError)r#   short_sampler/  tfnrw  rA   ns          r   test_bytearray_api ByteArrayTest.test_bytearray_api  sH   'rC,='= >>oo	c4A% ! c4AbMJJqM ! QL 12T!Wd6l3c4A
 !c4A  62 !		#! ! ! !   		# s   F
 D6F
 E<AF
 E!F
 5!E)F
 E: 6
E F
 
EF
 
E&"F
 )
E73F
 :
FF
F3F#"F3#
F0-F3/F00F3c                 .   [        S5      nU R                  UR                  5       S 5        U R                  US5        [        S5      nUR                  5         U R                  US5        [        5       nUR                  5         U R                  U5        g )Nr  s   ollehs   hello1s   1olleh)r   r8   r  r   r@   s     r   test_reverseByteArrayTest.test_reverse6  ss    hd+H%i 			I&K			r   c                 z   [        S5      nUR                  5         U R                  US5        [        S5      nUR                  5         U R                  US5        [        S5      nUR                  [	        S5      5        UR                  5         UR                  [	        S5      5        U R                  US5        g )Nr  r   rr  r  )r   r   r8   r   r  r@   s     r   
test_clearByteArrayTest.test_clearA  s    i 		C cN		C cN	S			SD!r   c                    [        S5      nUR                  5       nU R                  US5        [        S5      nUR                  5       nU R                  US5        [        S5      nUR                  5       nU R                  X5        U R                  X5        UR	                  [        S5      5        U R                  US5        U R                  US5        g )NrI  r   r_  rF   )r   rG   r8   assertIsNotr   r  )r#   rA   r*  s      r   rL   ByteArrayTest.test_copyP  s    fVVXV$cNVVXS! fVVX
		#c(W%F#r   c                     S nU" S5      nU R                  [        R                  " SU5      U" S5      U" S5      /5        g )Nc                 4    [        [        [        U 5      5      $ r   )r   r  r  )r  s    r   r  &ByteArrayTest.test_regexps.<locals>.byc  s    Sa[))r   r  s   \w+r  r  )r8   refindallr  s      r   test_regexpsByteArrayTest.test_regexpsb  s9    	*~GQ/"W+r'{1KLr   c                    ^  S nU 4S jnU 4S jnT R                  S5         U" U5        S S S 5        T R                  S5         U" U5        S S S 5        g ! , (       d  f       N1= f! , (       d  f       g = f)Nc                     X U'   g r   r   )rA   rz   vals      r   setitem_as_mapping6ByteArrayTest.test_setitem.<locals>.setitem_as_mappingi  s	    aDr   c                 >   > TR                   R                  XU5        g r   )r  sequence_setitem)rA   rz   re  r#   s      r   setitem_as_sequence7ByteArrayTest.test_setitem.<locals>.setitem_as_sequencel  s    !!221=r   c                   > [        / SQ5      nU " USS5        TR                  U[        / SQ5      5        U " USS5        TR                  U[        / SQ5      5        U " US[        S	5      5        TR                  U[        / S
Q5      5         U " USS5        TR                  S5         U " USS5        TR                  S5         U " USS5        TR                  S5         U " US[        S5      5        TR                  S5         U " US[        5       5        TR                  S5        g ! [         a     Nf = f! [         a     Nf = f! [
         a     Nvf = f! [
         a     Naf = f! [         a     g f = f)Nr   rW   r`   )rW   r`   r   rc   rc  )rW   r`   rc  r   r_   )r_   r`   rc  r   zDidn't raise IndexErrorirs   zDidn't raise ValueErrorzDidn't raise TypeError)r   r8   r   failro   r   r   r   )setitemrA   r#   s     r   do_tests,ByteArrayTest.test_setitem.<locals>.do_testso  sp   )$AAq#Q	+ 67Ar3Q	- 89Aq)B-(Q	. 9:1a 		343"		341c"		341im,		341fh'		23'  
  
  
  
  sZ   D+ *D; E "$E #E+ +
D87D8;
EE
EE
E('E(+
E87E8tp_as_mappingtp_as_sequencesubTest)r#   rf  rj  ro  s   `   r   test_setitemByteArrayTest.test_setitemh  sa    		> 	D \\/*'( + \\*+() ,+ +* ,+   	A	A'
A$'
A5c                    ^  S nU 4S jnU 4S jnT R                  S5         U" U5        S S S 5        T R                  S5         U" U5        S S S 5        g ! , (       d  f       N1= f! , (       d  f       g = f)Nc                     X	 g r   r   )rA   rz   s     r   del_as_mapping2ByteArrayTest.test_delitem.<locals>.del_as_mapping  s    r   c                 <   > TR                   R                  X5        g r   )r  sequence_delitem)rA   rz   r#   s     r   del_as_sequence3ByteArrayTest.test_delitem.<locals>.del_as_sequence  s    !!2218r   c           	      2  > [        [        S5      5      nU " US5        TR                  U[        [        SS5      5      5        U " US5        TR                  U[        [        SS5      5      5        U " US5        TR                  U[        / SQ5      5        g )Nr_   r   rW   rc   r  r   )rW   rk   r   r   r  r  r  )r   r   r8   )r  rA   r#   s     r   ro  ,ByteArrayTest.test_delitem.<locals>.do_tests  sx    %)$A1aLQ	%2, 781bMQ	%1+ 671aLQ	*? @Ar   rq  rr  rs  )r#   rz  r~  ro  s   `   r   test_delitemByteArrayTest.test_delitem  s_    		9	B \\/*^$ + \\*+_% ,+ +* ,+rw  c           	         [        [        S5      5      nU R                  [        U5      [        [        S5      5      5        [        / SQ5      USS& U R                  U[        / SQ5      5        USS2	 U R                  U[        / SQ5      5        [        / SQ5      USS& U R                  U[        [        S5      5      5        [        S	S
/5      USS& U R                  U[        / SQ5      5        / SQUSS& U R                  U[        [        S5      5      5        / SQUSS& U R                  U[        / SQ5      5        SUSS & U R                  U[        / SQ5      5        [	        S5      US S& U R                  U[        / SQ5      5        / USS& U R                  U[        / SQ5      5        SSS[        S5      SSSS/SS// /4	 H%  nU R                  [        5         X!SS& S S S 5        M'     / SQSS /4 H%  nU R                  [        5         X!SS& S S S 5        M'     g ! , (       d  f       Mj  = f! , (       d  f       MK  = f)!Nr_   )rW   rW   rW   rW   rW   r   r   )
rW   rW   rW   rW   rW   r   r  r  r  r  r  )r   r  r  r  r  )r   rW   rk   r   r   r`   e   r  r+  )r   rW   rk   r`   r  r  r  r  )r   r   r   r  r   )rt   rt   rt   )r   rW   rk   rt   rt   rt   r   r   r   r  r  r  r  r   )r   rW   rk   f   o   r  )r  r  r  r  r  r  r   )r  r  r  r  r  gPKDr   gffffff@rJ   rA   rn  ro  )r   r   rs   i i(#  )	r   r   r8   r   r  ru  rn   r   r   )r#   rA   elems      r   test_setsliceByteArrayTest.test_setslice  s   eBi a$uRy/2?+!AI&DEFadGIo67?+!AIeBi01c3Z("RI&BCD!AIeBi01!AI&PQR!"I&>?@6""1I&DEF!AI&?@AAs5z5#3Z$t5D""9-!A .-5
 %tTl3D"":.!A /. 4 .- /.s   !H$H6$
H3	6
I	c           	      ~   [        [        S5      5      nU R                  [        U5      [        [        S5      5      5        US S2	 U R                  [        U5      [        [        SS5      5      5        UR	                  [        SS5      5        U R                  [        U5      [        [        SS5      5      5        g )Nr`   r_   n   )r   r   r8   r   extendr@   s     r   test_setslice_extend"ByteArrayTest.test_setslice_extend  s    eCj!a$uSz"23crcFa$uR~"67	sC!a$uR~"67r   c                 b    [        S5      nUR                  5         US S2	 U[        S5      -  nAg )Nr_   rW   rk   )r   popr   r@   s     r   test_fifo_overrunByteArrayTest.test_fifo_overrun  s1     bM	bqbE	U1Xr   c                     [        S5      n[        R                  " U5      nUS S2	 U R                  [        R                  " U5      U5        g )Nr_   rW   )r   rZ   	getsizeofassertLessEqual)r#   rA   r   s      r   test_del_expandByteArrayTest.test_del_expand  s=    bM}}QbqbES]]1-t4r   c                 |   SS SSSSSS-  [         R                  SSS	S
4nU H  nU H  nUSS   H  n[        [        S5      5      n[	        U5      nXRX42   nUR                  5         XuX#U2'   XvX#U2'   U R                  U[	        U5      5        XRX42	 XbX42	 U R                  U[	        U5      5        M     M     M     g )Nr   rW   r   r  re  iM  rc   rf   r  ir   )rZ   r[   r   r   r   r  r8   )r#   r   r!  r"  r#  r  rA   r  s           r   test_extended_set_del_slice)ByteArrayTest.test_extended_set_del_slice  s    dAq"c1c63;;CE#ABKDU3Z(A!!A 4_-DLLN)-eo&)-eo&$$Q	!5/*/*$$Q	!5 (   r   c                     [        [        S5      5      nXSS & U R                  U[        [        [        S5      5      [        [        S5      5      -   5      5        g )Nrs   r  )r   r   r8   r   r@   s     r   test_setslice_trap ByteArrayTest.test_setslice_trap  sF     eCj!!"Id58ntE#J7G&GHIr   c                    [        S5      nUnUS-  nU R                  US5        U R                  X5        U R                  X5        US-  nU R                  US5         US-  nU R                  S5        g ! [         a     g f = f)NrI  rJ  rK  r  s	   abcdefxyzr   z'bytes += unicode didn't raise TypeError)r   r8   r6   rm  r   r#   rA   r   s      r   test_iconcatByteArrayTest.test_iconcat
  s    f	VI&a	VL)	AGA II?@  		s   A6 6
BBc                     [        S5      nUnUS-  nU R                  US5        U R                  X5        U R                  X5        g )NrI  r   rS  r   r8   r6   r  s      r   test_irepeatByteArrayTest.test_irepeat  sD    f	QL)ar   c                     [        S5      nUnUS-  nU R                  US5        U R                  X5        U R                  X5        g )Nr^  r`   sd   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr  r  s      r   test_irepeat_1char ByteArrayTest.test_irepeat_1char"  sC    dO	SH%ar   c                    [        5       nUR                  5       nU R                  US5        U/n[        S5       HK  nUS-  nUR                  5       nU R	                  U[        U5      5        X#;  d  M:  UR                  U5        MM     g )Nr   r`   r^  )r   	__alloc__assertGreaterEqualr   assertGreaterrm   r   )r#   rA   allocr  rz   s        r   
test_allocByteArrayTest.test_alloc*  ss    Kq)gsAIAKKMEuc!f-

5! r   c           	      >  ^ ^ [        5       mUU 4S jnTR                  U" 5       5        T R                  [        T5      [        [	        SS5      5      5        T R                  [        T5      S5        TR                  5       nT R                  U[        T5      5        g )Nc               3     >#    [        SS5       H  n U v   [        T5      nTR                  U[        [        S[        U5      S-   5      5      5        TR                  [        T5      [        U5      5        TR	                  [        T5      U 5        TR                  5       nTR                  U[        T5      5        M     g 7f)NrW   r`   )r   r   r8   rm   r  r  r  )rz   rJ   r  rA   r#   s      r   g(ByteArrayTest.test_init_alloc.<locals>.g8  s     1c]G  Dq#a&();$<=  QQ0$$SVQ/""5#a&1 #s   B?CrW   r`   c   )r   r$   r8   r   r   rm   r  r  )r#   r  r  rA   s   `  @r   test_init_allocByteArrayTest.test_init_alloc6  sp    K	2 	


13a$uQ}"56Q$5#a&)r   c           	         Sn[        U5      nUR                  U5        U R                  X!U-   5        U R                  USS  U5        [        S5      nUR                  [        [        US-  5      5        UR                  S US-   5       5        U R                  X!S-  5        U R                  USS  U5        [        S5      nUR                  [        [        [        US-  5      5      5        U R                  X!S-  5        U R                  USS  U5        [        S5      nUR                  [        [        [        US-  5      5      5        U R                  X!S-  5        U R                  USS  U5        [        S5      nU R                  [        UR                  / SQ5        U R                  [        UR                  / S	Q5        U R                  [        U5      S
5        [        S5      nUR                  [        [        S5      5      /5        U R                  US5        [        S5      nU R                  [        SUR                  S5        U R                  [        SUR                  S5        g )Nr  r   r      c              3   8   #    U  H  n[        U5      v   M     g 7fr   )ru  r  s     r   r{   ,ByteArrayTest.test_extend.<locals>.<genexpr>P  s     +AQs   2   r  )r   rW   rk   rs   )r   rW   rk   rc   r   rJ   rn  rI  z)expected iterable of integers; got: 'str'rM  z!can't extend bytearray with floatg      ?)r   r  r8   r  ru  r   r   rn   r   rm   r   r  r  r   )r#   r  rJ   s      r   test_extendByteArrayTest.test_extendG  s   dO	4K(12%cN	S$)$%	+++2I&23&cN	c#tby)*+2I&23&cN	c#tby)*+2I&23&cN*ahh?*ahh>Q#cN	)CH%&'D!fyJ xx	0 	yB xx	.r   c                 d  ^ [        S5      mTR                  [        S5      5        U R                  TS5        TR                  [        S5      5        U R                  TS5        U R	                  [
        U4S j5        U R	                  [
        U4S j5        U R	                  [        U4S j5        TR                  [        S5      5        TR                  [        S	5      5        U R                  TS
5        U R	                  [        U4S j5        TR                  [        [        S5      5      5        U R                  TS5        [        / SQ5      nUR                  S5        U R                  U[        / SQ5      5        UR                  S5        U R                  U[        SS/5      5        g )Nr  r  s   helos   heoc                  8   > T R                  [        S5      5      $ )Nr  )rK  r  rQ   s   r   rR   +ByteArrayTest.test_remove.<locals>.<lambda>p  s    ahhs3x.@r   c                  &   > T R                  S5      $ )Ni  rK  rQ   s   r   rR   r  q  s    ahhsmr   c                  &   > T R                  S5      $ )Nr  r  rQ   s   r   rR   r  r  s    QXXc]r   r  r  r  c                  &   > T R                  S5      $ )Nr  r  rQ   s   r   rR   r  w      QXXd^r   r  r   )~   r   r}      r   )r  r}   r  r  r  r}   )	r   rK  r  r8   rn   r   r   r   r   rY  s     @r   test_removeByteArrayTest.test_removej  s7   h	SG$	SF#*&@A*&;<)%:;	S	SD!)%;<	3s8$%C  *+	E/23	E3*-.r   c                   ^ [        S5      mU R                  TR                  5       [        S5      5        U R                  TR                  S5      [        S5      5        U R                  TR                  S5      [        S5      5        U R	                  [
        U4S j5        U R	                  [
        S 5        U R                  [        S	5      R                  5       S
5        g )Nr  r_  r   r  rf   rV  c                  &   > T R                  S5      $ )Nr_   )r  rQ   s   r   rR   (ByteArrayTest.test_pop.<locals>.<lambda>  s    aeeBir   c                  2    [        5       R                  5       $ r   )r   r  r   r   r   rR   r    s    ikoo.?r   r  r   )r   r8   r  r  rn   ro   r@   s    @r   test_popByteArrayTest.test_pop  s    h#c(+q3s8,rCH-*&78*&?@7+//148r   c                 2    U R                  [        S 5        g )Nc                  2    [        5       R                  5       $ r   )r   sortr   r   r   rR   +ByteArrayTest.test_nosort.<locals>.<lambda>  s    )+2B2B2Dr   )rn   AttributeErrorr(   s    r   test_nosortByteArrayTest.test_nosort  s    .*DEr   c                   ^ [        S5      mTR                  [        S5      5        U R                  TS5        U R                  TR                  S5      S 5        [        5       mTR                  [        S5      5        U R                  [	        T5      S5        U R                  [        U4S j5        [        5       mTR                  [        [        S5      5      5        U R                  TS5        g )	Ns   hellr  r  r`   ArW   c                  &   > T R                  S5      $ )Nr  )r   rQ   s   r   rR   +ByteArrayTest.test_append.<locals>.<lambda>  r  r      A)r   r   r  r8   rm   rn   r   r   r@   s    @r   test_appendByteArrayTest.test_append  s    g	SH%#-K	SQ#)%;<K	3s8$%D!r   c                   ^ [        S5      mTR                  S[        S5      5        TR                  S[        S5      5        TR                  S[        S5      5        TR                  S[        S5      5        U R                  TS5        U R	                  [
        U4S j5        [        5       mTR                  S	[        [        S
5      5      5        U R                  TS5        g )Ns   msssspprW   rz   r   rf   r   r  c                  (   > T R                  SS5      $ )Nr      1)insertrQ   s   r   rR   +ByteArrayTest.test_insert.<locals>.<lambda>  s    QXXa->r   r   r  r  )r   r  r  r8   rn   r   r   r@   s    @r   test_insertByteArrayTest.test_insert  s    j!	CH	CH	SX	s3x N+)%>?K	Ic#h'(D!r   c                    [        S5      nU R                  XR                  SSS5      5        [        [        S5       Vs/ s H  o"PM     sn5      n[        S5      nU R                  XDR	                  U5      5        g s  snf )NrI  s   cder   rs   r   )r   rZ  r&  r   r  )r#   rA   rz   tr_  s        r   test_copiedByteArrayTest.test_copied  sj     fIIffa89%*-*Qq*-.cNKKN+ .s    A>c                    [        S5      R                  S5      u  pnU R                  US5        U R                  US5        U R                  X#5        US-  nU R                  US5        [        S5      R                  S5      u  pnU R                  US5        U R                  US5        [        S5      R	                  S5      u  p#nU R                  US5        U R                  US5        U R                  X#5        US-  nU R                  US5        [        S5      R	                  S5      u  p2nU R                  US5        U R                  US5        g )Nr^     yr      !)r   rB  r8   rZ  rF  )r#   rJ   rA   rZ  s       r   0test_partition_bytearray_doesnt_share_nullstring>ByteArrayTest.test_partition_bytearray_doesnt_share_nullstring  s0   D/++D1aC C 	T	C D/++D1aC C D/,,T2aC C 	T	C D/,,T2aC C r   c                   ^ [        [        S5      5      m[        T5      nU4S jnU" S5        TS S  nU R                  [        US5        U R                  TU5        U R                  [        US5        U R                  TU5        U R                  [        US5        U R                  TU5        U R                  [        TR                  S5        U R                  TU5        U R                  [        TR                  TS   5        U R                  TU5        U4S jnU R                  [        U5        U R                  TU5        U4S jnU R                  [        U5        U R                  TU5        g )	Nr_   c                 6   > [        U S-   SU -  S-
  5      TSS& g )NrW   rk   rc   )r   )rO  rA   s    r   resize3ByteArrayTest.test_resize_forbidden.<locals>.resize  s!    AE1Q37+AaGr      r  r   rW   c                     > T S	 g rV   r   rQ   s   r   delitem4ByteArrayTest.test_resize_forbidden.<locals>.delitem  s
    !r   c                     > ST SSS2'   g )Nr   rW   rc   rk   r   rQ   s   r   delslice5ByteArrayTest.test_resize_forbidden.<locals>.delslice  s    Aa1fIr   )r   r   r  rn   BufferErrorr8   r  rK  )r#   vr  r  r  r  rA   s         @r   test_resize_forbidden#ByteArrayTest.test_resize_forbidden  s1   
 eBi qM	,r
t+vr2D!+vq1D!+vq1D!+quua0D!+qxx16D!	+w/D!	+x0D!r   c                     [         R                  " S5      nU R                  [        UR                  [        5       5        g )Nr  )r   r  rn   r  getbuffer_with_null_viewr   )r#   r  s     r   test_obsolete_write_lock&ByteArrayTest.test_obsolete_write_lock  s,    !//<	+y'I'I9;Wr   c                    [        S5      n[        S5      n[        [        R                  S-   5       GH  n[        U5      n[        R                  " XA4U5      n[        R                  " U5      u  pgX'S S & U R                  [        U5      [        U5      5        U R                  [        U5      U5        [        U5        [        R                  " XA4U5      n[        R                  " U5      u  pgX'S S & U R                  [        U5      [        U5      5        U R                  [        U5      USS  5        [        S[        U5      5       H  n[        U5        M     [        R                  " XA4U5      n[        R                  " U5      u  pgX'S S & U R                  [        U5      [        U5      5        U R                  [        U5      U[        U5      S  5        U R                  [        [        U5        [        R                  " XA4U5      n[        R                  " U5      u  pgX'S S & U R                  [        U5      / 5        GM     g )NrI  s   qwertyrW   )r   r   r   rR  rS  r   rT  rU  r8   r7   r\  rm   rn   StopIteration)	r#   r  r  rV  itorigr_  r]  rA   rz   s	            r   test_iterator_pickling2%ByteArrayTest.test_iterator_pickling2  s    I622Q67E$ZFf^U3ALLOEBaDT"XtF|4T"Xt, Lf^U3ALLOEBaDT"XtF|4T"XtABx0 1c$i(V )f^U3ALLOEBaDT"XtF|4T"XtCIJ'78 mT6:f^U3ALLOEBaDT"Xr*? 8r   c                     [        S5      n[        U5      n[        U5        UR                  5         U R	                  [        U5      / 5        g )Nrq  )r   r   r\  r   r8   r   )r#   r)  r]  s      r   test_iterator_length_hint'ByteArrayTest.test_iterator_length_hint  s9    u"XR

b2&r   c                     [        S5      nSUS S& US-  nUS-  nU R                  US5        U R                  X!5        U R                  US5        g )NrI  r^  rk   rW   r   s   xcs   xcxcxcr   r8   )r#   rA   r   r   s       r   test_repeat_after_setslice(ByteArrayTest.test_repeat_after_setslice  sW    f"1UUU#Y'r   c                   ^  " U4S jS5      nU R                  S5         [        S5      mU R                  [        5         U" 5       TS'   S S S 5        S S S 5        U R                  S5         [        S5      mU R                  [        5         U R                  R                  TSU" 5       5        S S S 5        S S S 5        g ! , (       d  f       N|= f! , (       d  f       N= f! , (       d  f       N9= f! , (       d  f       g = f)Nc                   "   > \ rS rSrU 4S jrSrg)/ByteArrayTest.test_mutating_index.<locals>.Boomi*  c                 &   > TR                  5         grP   r   r@   s    r   r)   9ByteArrayTest.test_mutating_index.<locals>.Boom.__index__+  s    	r   r   Nr   rQ   s   r   Boomr  *  s     r   r  rq  s   Now you see me...r   rr  )rt  r   rn   ro   r  ri  )r#   r  rA   s     @r   test_mutating_index!ByteArrayTest.test_mutating_index%  s    
	 	
 \\/*./A"":.v! / +
 \\*+./A"":.%%66q!TVD / ,+ /. +* /. ,+sG   !CCC-!C5#C$1C5
C	C
C!$
C2	.C55
Dc                     " S S5      nU R                  S5         U" 5       n[        S5      UR                  U'   U R                  UR                  S   [        S5      S5        U R                  UR                  [        S5      S5        S S S 5        U R                  S	5         U" 5       n[        S5      UR                  U'   U R                  R                  UR                  U[        S5      5        U R                  UR                  S   [        S5      S5        U R                  UR                  [        S5      S5        S S S 5        U R                  S
5         U" 5       n[        S5      /UR                  US& U R                  UR                  S   [        S5      S5        U R                  UR                  [        S5      S5        S S S 5        g ! , (       d  f       GNQ= f! , (       d  f       N= f! , (       d  f       g = f)Nc                        \ rS rSrS rS rSrg)BByteArrayTest.test_mutating_index_inbounds.<locals>.MutatesOnIndexi=  c                 $    [        S5      U l        g )N  )r   r)  r(   s    r   r$   KByteArrayTest.test_mutating_index_inbounds.<locals>.MutatesOnIndex.__init__>  s    #E*r   c                     U R                   R                  5         [        S5      U l        U R                   R	                  S/S-  5        g)Nr  r   )r)  r   r   new_bar  r(   s    r   r)   LByteArrayTest.test_mutating_index_inbounds.<locals>.MutatesOnIndex.__index__A  s4    '.sU{+r   )r)  r  Nr,   r   r   r   MutatesOnIndexr  =  s    +r   r  skip_bounds_safety?r   zAssigned bytearray not alteredr  zWrong object alteredskip_bounds_safety_capiskip_bounds_safety_slicerW   )rt  r  r)  r8   r  r   r  ri  )r#   r  instances      r   test_mutating_index_inbounds*ByteArrayTest.test_mutating_index_inbounds9  s   	 	 \\./%'H$'HHKK!X[[^SX7WXX__i.>@VW	 0 \\34%'H$'HHKK!!!228;;#c(SX[[^SX7WXX__i.>@VW 5 \\45%'H'*3xjHKK#X[[^SX7WXX__i.>@VW	 65 0/ 54 65s&   A/G$BG'A0G8
G$'
G58
Hr   N)4r-   r.   r/   r0   r   r>   r   r  r  r  r>  rB  rP  rS  rW  rL   ra  ru  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  cpython_onlyr   r  
list_tests
CommonTesttest_exhausted_iteratorr  r  r  r%  r1   r   r   r   r6  r6    s   I$223EF84	"$$M-*^&,&P856*JA 
"*"!.F/09F"
",!*"@ 
\\X X"+H #oo88PP'(E(Xr   r6  c                      \ rS rSr\4S jr\4S jr\S 5       r\S 5       r	\S 5       r
S r\R                  R                  S 5       rS	 rS
 rS rS rS r\R,                  " \R0                  R2                  S5      S 5       rSrg)AssortedBytesTesti[  c                 P   U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" [        S/5      5      S5        U R                  U" [        / SQ5      5      S5        U R                  U" S	5      S
5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" S5      S5        U R                  U" [        S5      5      S5        g )Nr   zb''rI  zb'abc'\   zb'\\'r   zb'\x00\x01\xfe\xff's   	
zb'\x07\x08\t\n\x0b\x0c\r'   "zb'"'   'zb"'"   '"zb'\'"'   "'"zb'"\'"'   '"'zb'\'"\'')r8   r   r  r#   rw  s     r   test_bytes_repr!AssortedBytesTest.test_bytes_repr`  s    3'6H-5";25!1235KL,-/KL4*-4*-6M28n57_5=018<r   c                    U R                  U" [        5       5      S5        U R                  U" [        S5      5      S5        U R                  U" [        S/5      5      S5        U R                  U" [        / SQ5      5      S5        U R                  U" [        / SQ5      5      S	5        U R                  U" [        S
5      5      S5        U R                  U" [        S5      5      S5        U R                  U" [        S5      5      S5        U R                  U" [        S5      5      S5        U R                  U" [        S5      5      S5        U R                  U" [        S5      5      S5        U R                  U" [        R                  S5      5      S5        U R                  U" [        R	                  S5      5      S5        g )Nzbytearray(b'')rI  zbytearray(b'abc')r.  zbytearray(b'\\')r   zbytearray(b'\x00\x01\xfe\xff'))r  r  r  r_   r  r     z$bytearray(b'\x07\x08\t\n\x0b\x0c\r')r/  zbytearray(b'"')r0  zbytearray(b"\'")r1  zbytearray(b'\'"')r2  zbytearray(b'"\'"')r3  zbytearray(b'\'"\'')zByteArraySubclass(b'abc')zNested(b'abc')u   Ŭñıçöđë(b'abc'))r8   r   ByteArraySubclassNested   Ŭñıçöđër4  s     r   test_bytearray_repr%AssortedBytesTest.test_bytearray_reprm  sr   9;)9:9V,-/BC9bT?+-@A9%567=	?9%>?@C	E9T?+-BC9T?+-DE9V,-/GH9X./1JK9X./1KL,V457RS,33F;<>NO,;;FCDF^_r   c                 .    U R                  [        5        g r   )r5  r   r(   s    r   test_bytes_str AssortedBytesTest.test_bytes_str~  s    S!r   c                 .    U R                  [        5        g r   )r<  r   r(   s    r   test_bytearray_str$AssortedBytesTest.test_bytearray_str  s      %r   c           
         S[        S5      4 H  nU R                  [        U5      [        U5      5        U R                  [        US5      [        U5      5        U R	                  [
        S[        R                  " [        U5      R                  5      -  5         [        US5        S S S 5        M     g ! , (       d  f       M  = f)NrI  r   z\b%s\br  )
r   r8   r  r   r  r   r_  escaper7   r-   r@   s     r   test_formatAssortedBytesTest.test_format  s    6**AVAYA/VAr]CF3''	(1BIId1g>N>N4O(OQq#Q Q +Q Qs   B44
C	c                    U R                  S[        S5      :H  S5        U R                  S[        S5      :g  S5        U R                  S[        S5      :*  S5        U R                  S[        S5      :  S5        U R                  S[        S5      :  S5        U R                  S[        S5      :  S5        U R                  S[        S5      :g  S5        U R                  S[        S5      :H  S5        U R                  S[        S5      :  S5        U R                  S[        S5      :  S5        U R                  S[        S5      :  S5        U R                  S[        S5      :*  S5        U R                  [        S5      S:H  S5        U R                  [        S5      S:g  S5        U R                  [        S5      S:*  S5        U R                  [        S5      S:  S5        U R                  [        S5      S:  S5        U R                  [        S5      S:  S5        U R                  [        S5      S:g  S5        U R                  [        S5      S:H  S5        U R                  [        S5      S:  S5        U R                  [        S5      S:  S5        U R                  [        S5      S:  S5        U R                  [        S5      S:*  S5        g )NrI  Trq  Fr   r(   s    r   test_compare_bytes_to_bytearray1AssortedBytesTest.test_compare_bytes_to_bytearray  sZ   5=0$7%-/6%-/6v.55</6%,.55=0%8%-/7v.6%-/7%,.65</7v&0$7u/6u/6u.5v%/6v.5v&0%8u/7u.6u/7v.6v%/7r   c                 t   U R                  [        R                  5        U R                  [        R                  R	                  S5      [        R                  5        U R                  [
        R                  5        U R                  [
        R                  R	                  S5      [
        R                  5        g )Nz
bytearray(zbytes()assertIsNotNoner   __doc__r   r  r   r(   s    r   test_docAssortedBytesTest.test_doc  sn    Y../	))44\BIDUDUVU]]+00:EMMJr   c                 |    [        S5      n[        U5      n[        U5      nU R                  U[        U5      5        g )Ns   Hello world
)r   r  r   r8   )r#   r/  bufrA   s       r   test_from_bytearray%AssortedBytesTest.test_from_bytearray  s5    78 cNIf-.r   c           	          / SQnU H!  u  p#U R                  U[        US5      5        M#     [        SS5       H*  nU R                  [        [
        S[        U5      -  5        M,     g )N))s   Wonderful spamzWonderful spam)s   Wonderful spam toozWonderful spam too)s     u   ª  )s   \xaa\x00\000\200z\xaa\x00\000\200r*  r}   rs   zb"%s")r8   r   r   rn   SyntaxErrorevalr  )r#   testsrA   r  rZ  s        r   test_literalAssortedBytesTest.test_literal  s\    
 DAQ	!Y 78 sCAk4%A.0 !r   c                 \    U R                  SR                  [        S5      5      SS/5        g Nr*  r  rn  ro  )r8   r1  r  r(   s    r   test_split_bytearray&AssortedBytesTest.test_split_bytearray  s$    j&67$Fr   c                 \    U R                  SR                  [        S5      5      SS/5        g r[  )r8   r2  r  r(   s    r   test_rsplit_bytearray'AssortedBytesTest.test_rsplit_bytearray  s$    z$'784,Gr   c                 \    [        5       nU R                  UR                  SS5      U5        g )Nr   )r   rZ  r&  r@   s     r   test_return_self"AssortedBytesTest.test_return_self  s$    K3,a0r   z4BytesWarning is needed for this test: use -bb optionc                    S nU" 5          SS:H    S S S 5        U" 5          SS:H    S S S 5        U" 5          SS:g    S S S 5        U" 5          SS:g    S S S 5        U" 5          [        S5      S:H    S S S 5        U" 5          S[        S5      :H    S S S 5        U" 5          [        S5      S:g    S S S 5        U" 5          S[        S5      :g    S S S 5        U" 5          SS:H    S S S 5        U" 5          SS:H    S S S 5        U" 5          SS:g    S S S 5        U" 5          SS:g    S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nc                  :    [         R                  " S[        45      $ r
   r   r   r   r   bytes_warning5AssortedBytesTest.test_compare.<locals>.bytes_warning  s    "112|2DEEr   r   r   r   r   r   )r#   rf  s     r   r   AssortedBytesTest.test_compare  s4   	F_2I _#I _2I _#I _cNb  _)C.  _cNb  _)C.  _QJ _J _QJ _J _- ____________s   D%D7E	
EE-=E?F9F!F2,GGG%%
D47
E	
E
E*-
E<?
F
F!
F/2
G 
G
G"%
G3r   N)r-   r.   r/   r0   reprr5  r<  r   r?  rB  rF  rI  r  r  requires_docstringsrN  rR  rX  r\  r_  rb  unittest
skipUnlessrZ   flagsrf  r   r1   r   r   r   r,  r,  [  s    
 !% = %) `" " " & &  8: 
\\%%K &K/0GH1
 00OQQr   r,  c                        \ rS rSrS rS rSrg)BytearrayPEP3137Testi  c                     [        U5      $ r   rh  )r#   r_  s     r   marshalBytearrayPEP3137Test.marshal  s    |r   c                    U R                  S5      nS H<  n[        X5      nU" S5      nU R                  X5        U R                  XUS-   5        M>     S H4  n[	        U5      nU R                  X5        U R                  XUS-   5        M6     U R                  S5      nUR                  U/5      nU R                  X5        U R                  X5        g )Ns   1234)zfillr}  rx  rr  r   z" returned self on a mutable object)zval.split()[0]zval.rsplit()[0]zval.partition(b".")[0]zval.rpartition(b".")[2]zval.splitlines()[0]zval.replace(b"", b"")z! returned val on a mutable objectr   )rr  getattrr8   rZ  rV  r  )r#   re  methnamer  newvalexprseps          r   test_returns_new_copy*BytearrayPEP3137Test.test_returns_new_copy  s    ll7# >HS+FAYFS)S$%IIK	 >ED $ZFS)S !DDFE ll33%%%r   r   N)r-   r.   r/   r0   rr  r{  r1   r   r   r   rp  rp    s    &r   rp  c                   ,   ^  \ rS rSrU 4S jrSrSrU =r$ )FixedStringTesti  c                    > [        U[        5      (       a   U R                  UR                  S5      5      $ [        TU ]  U5      $ )Nr)  )
isinstancer   r>   r,  superfixtype)r#   r  r?   s     r   r  FixedStringTest.fixtype  s7    c3>>#**W"566ws##r   Tr   )r-   r.   r/   r0   r  contains_bytesr1   __classcell__)r?   s   @r   r~  r~    s    $
 Nr   r~  c                       \ rS rSr\rSrg)ByteArrayAsStringTesti!  r   N)r-   r.   r/   r0   r   r>   r1   r   r   r   r  r  !  s    Ir   r  c                       \ rS rSr\rSrg)BytesAsStringTesti$  r   N)r-   r.   r/   r0   r   r>   r1   r   r   r   r  r  $  s    Ir   r  c                   2    \ rS rSrS rS rS rS rS rSr	g)	SubclassTesti(  c                    U R                  [        U R                  U R                  5      5        U R	                  U R                  5       U R                  5        Su  pU R                  U5      U R                  U5      pCU R                  X3:H  5        U R                  X4:g  5        U R                  X4:  5        U R                  X4:*  5        U R                  XC:  5        U R                  XC:  5        U R                  X15        U R                  X-   X4-   5        U R                  X-   X-   5        U R                  X-   X2-   5        U R                  US-  US-  :H  5        g )N)rF      efghr   )r   
issubclassr>   basetyper  rZ  r8   )r#   rJ   rA   _a_bs        r   
test_basicSubclassTest.test_basic*  s   
4>>4==ABdnn.>"DNN1$5B 	!! !!  	('' 	!r!t$r   c                 T   U R                  S5      nU R                  5       R                  U/5      nU R                  X5        U R	                  [        U5      U R                  [        U5      5        UR                  S/5      nU R	                  [        U5      U R                  5        g rE   )r>   r  r  rZ  r6   r7   )r#   s1s2s3s       r   r  SubclassTest.test_joinB  s|     ^^G$]]_!!2$' d2htBx8 WWgYd2h.r   c                    U R                  S5      nSUl        U R                  S5      Ul        [        [        R
                  S-   5       GH&  n[        R                  " [        R                  " X5      5      nU R                  [        U5      [        U5      5        U R                  X5        U R                  UR                  UR                  5        U R                  UR                  UR                  5        U R                  [        U5      [        U5      5        U R                  [        UR                  5      [        UR                  5      5        U R                  [        US5      5        GM)     g )NrF   r_   r  rW   y)r>   r_  zr   rR  rS  rU  rT  r2  r1  r8   r7   r   hasattr)r#   rJ   rV  rA   s       r   test_pickleSubclassTest.test_pickleO  s    NN7#nnW%622Q67EV\\!34A1r!u-Q"QSS!##&QSS!##&T!Wd1g.T!##YQSS	2WQ_- 8r   c                    U R                  S5      nSUl        U R                  S5      Ul        [        R                  [        R                  4 GH  nU" U5      nU R                  [        U5      [        U5      5        U R                  X5        U R                  UR                  UR                  5        U R                  UR                  UR                  5        U R                  [        U5      [        U5      5        U R                  [        UR                  5      [        UR                  5      5        U R                  [        US5      5        GM     g )NrF   r_   r  r  )r>   r_  r  rG   rH   r2  r1  r8   r7   r   r  rI   s       r   rL   SubclassTest.test_copy]  s    NN7#nnW% IIt}}5KAA1r!u-Q"QSS!##&QSS!##&T!Wd1g.T!##YQSS	2WQ_- 6r   c                 r  ^  T R                   R                  S5      nT R                  US5        T R                  [	        U5      T R                   5         " U 4S jST R
                  5      nUR                  S5      nT R                  US5        T R                  [	        U5      U5        T R                  UR                  S5         " U 4S jST R
                  5      nUR                  S5      nT R                  US5        T R                  [	        U5      U5        T R                  UR                  S5        g )Nr}  r  c                   "   > \ rS rSrU 4S jrSrg)%SubclassTest.test_fromhex.<locals>.B1ip  c                 L   > TR                   R                  X5      nSUl        U$ Nr  )r  r  r  )r  r!   mer#   s      r   r  -SubclassTest.test_fromhex.<locals>.B1.__new__q  s#    ]]**36	r   r   N)r-   r.   r/   r0   r  r1   r(   s   r   B1r  p  r   r   r  r  c                   "   > \ rS rSrU 4S jrSrg)%SubclassTest.test_fromhex.<locals>.B2i{  c                 z   > TR                   [        La   TR                   R                  " U /UQ70 UD6  SU l        g r  )r  r   r$   r  )r  r   kwargsr#   s      r   r$   .SubclassTest.test_fromhex.<locals>.B2.__init__|  s2    ==-MM**2???r   r   Nr-   r.   r/   r0   r$   r1   r(   s   r   B2r  {  s     r   r  )r>   r  r8   r6   r7   r  r  )r#   rA   r  r  s   `   r   r  SubclassTest.test_fromhexk  s    NN""8,O,d1gt~~.	 	 JJx O,d1gr"&	 	 JJx O,d1gr"&r   r   N)
r-   r.   r/   r0   r  r  r  rL   r  r1   r   r   r   r  r  (  s    %0/..'r   r  c                   @    \ rS rSr " S S\5      r " S S\5      rSrg)r9  i  c                       \ rS rSrSrg)ByteArraySubclass.Nestedi  r   Nr   r   r   r   r:  r        r   r:  c                       \ rS rSrSrg)    ByteArraySubclass.Ŭñıçöđëi  r   Nr   r   r   r   r;  r    r  r   r;  r   N)r-   r.   r/   r0   r   r:  r;  r1   r   r   r   r9  r9    s      r   r9  c                       \ rS rSrSrSrg)ByteArraySubclassWithSlotsi  )r_  r  __dict__r   N)r-   r.   r/   r0   	__slots__r1   r   r   r   r  r    s    &Ir   r  c                       \ rS rSrSrg)r  i  r   Nr   r   r   r   r  r        r   r  c                       \ rS rSrSrg)r  i  r   Nr   r   r   r   r  r    r  r   r  c                        \ rS rSrS rS rSrg)r  i  c                     Xl         g r   r    r"   s     r   r$   WithBytes.__init__  r&   r   c                     U R                   $ r   r    r(   s    r   r  WithBytes.__bytes__  r+   r   r    N)r-   r.   r/   r0   r$   r  r1   r   r   r   r  r    s    r   r  c                   "    \ rS rSr\r\rS rSr	g)ByteArraySubclassTesti  c                      " S S[         5      nU" SS5      nU" SSS9nU R                  US5        U" SSS9nU R                  US5        g )Nc                       \ rS rSrSS jrSrg):ByteArraySubclassTest.test_init_override.<locals>.subclassi  c                 8    [         R                  " U /UQ70 UD6  g r   )r   r$   )r  newargr   r  s       r   r$   CByteArraySubclassTest.test_init_override.<locals>.subclass.__init__  s    ""2777r   r   N)rW   r  r   r   r   subclassr    s    8r   r  r   rF   )source)r  r  r  )r#   r  r_  s      r   test_init_override(ByteArraySubclassTest.test_init_override  sT    	8y 	8 Q Qw'G$Ag.G$r   r   N)
r-   r.   r/   r0   r   r  r9  r>   r  r1   r   r   r   r  r    s    H!I%r   r  c                       \ rS rSr\r\rSrg)ByteArraySubclassWithSlotsTesti  r   N)	r-   r.   r/   r0   r   r  r  r>   r1   r   r   r   r  r    s    H*Ir   r  c                       \ rS rSr\r\rSrg)BytesSubclassTesti  r   N)	r-   r.   r/   r0   r   r  r  r>   r1   r   r   r   r  r    s    HIr   r  __main__)1r   r  r_  rZ   rG   r   r  rR  rG  r<  rl  test.supportr  r   r   test.string_teststest.list_testsr   r   test.support.script_helperr   rn  rf  r   r   r3   TestCaser  r6  r,  rp  string_testsBaseTestr~  r  r  r  r   r9  r  r   r  r  r  r  r  r  r-   mainr   r   r   <module>r     s    	 	 
         & (   9 < 99 XH XHvz.x00 z.zP	XM8#4#4 P	XfR)) RF&8,, &6d''00 OX->-> ):): \' \'~	 ' '	E 		 	 %L(*;*; %+\83D3D +h&7&7 
 zMMO r   