
    9bh%                         d dl Z d dlmZ  ej                  d      Zd dlmZmZ dZ G d de      Z	 G d d      Z
 G d	 d
e j                        Zedk(  r e j                          yy)    N)import_helper	_testcapi)PY_SSIZE_T_MINPY_SSIZE_T_MAXc                       e Zd Zy)BytesSubclassN)__name__
__module____qualname__     C/opt/python-3.12.12/usr/lib/python3.12/test/test_capi/test_bytes.pyr   r   	   s    r   r   c                       e Zd Zd Zd Zy)	BytesLikec                     || _         y Nvalue)selfr   s     r   __init__zBytesLike.__init__   s	    
r   c                     | j                   S r   r   r   s    r   	__bytes__zBytesLike.__bytes__   s    zzr   N)r	   r
   r   r   r   r   r   r   r   r      s    r   r   c                   V    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 ZddZd Zd Zy
)CAPITestc                    t         j                  }| j                   |d             | j                   |d             | j                   |t	        d                   | j                   |t        d                   | j                   |t        d                   | j                   |d             | j                   |g              | j                   |t                            y N   abcabc   )r   bytes_check
assertTrueassertFalse	bytearrayr   r   objectr   checks     r   
test_checkzCAPITest.test_check   s    %%f&u&y012mF345y012q"r#vx)r   c                    t         j                  }| j                   |d             | j                   |d             | j                   |t	        d                   | j                   |t        d                   | j                   |t        d                   | j                   |d             | j                   |g              | j                   |t                            y r   )r   bytes_checkexactr"   r#   r$   r   r   r%   r&   s     r   test_checkexactzCAPITest.test_checkexact"   s    **f&u&y012}V456y012q"r#vx)r   c                    t         j                  }| j                   |d      d       | j                   |dd      d       | j                   |d      d       | j                   |d      d       | j                   |dd      d       | j                   |dd      d       | j                   |t        d      d       | j                  t	         |t        d	            d	       | j                  t        t        f|t        t               | j                  t        |dd
       | j                  t        |dt               | j                  t        |t        d
       | j                  t        |t        t               y )Nr      s   ab   abc def   a   r   r   r    )r   bytes_fromstringandsizeassertEqualNULLlenassertRaisesMemoryErrorOverflowErrorr   SystemErrorr   )r   fromstringandsizes     r   test_fromstringandsizezCAPITest.test_fromstringandsize0   s@   %==*62F;*615u=*;7E*40$7*43T:*32C8*43S9.tQ78!<;6+T>	C 	+'8&"E+'8&.Q+'8$C+'8$Or   c                     t         j                  }| j                   |d      d       | j                   |d      d       y )Nr.   r   r   )r   bytes_fromstringr3   )r   
fromstrings     r   test_fromstringzCAPITest.test_fromstringD   s6    //
K0&9C#.r   c                    t         j                  }| j                   |d      d       | j                   |t        d            d       | j                   |t	        d            d       | j                   |g d      d       | j                  t        |d       | j                  t        |t        d             | j                  t        |d       | j                  t        |t                      | j                  t        |t               y )Nr   )a   b   c   r    r   )r   bytes_fromobjectr3   r$   r   r6   	TypeErrorr   r%   r9   r4   )r   
fromobjects     r   test_fromobjectzCAPITest.test_fromobjectM   s    //
F+V4If$56?M&$9:FCL16:)Z3)Z61BC)Z7)Z:+z48r   c                 r   t         j                  }| j                   |d      d       | j                   |d      d       | j                   |t        d            d       | j	                  t
        |t        d             | j	                  t
        |d       | j	                  t
        |t                      y )Nr   r   r   r    r   )r   
bytes_sizer3   r   r6   rE   r$   r%   )r   sizes     r   	test_sizezCAPITest.test_size[   s    ##cA&fq)mF34a8)T9V+<=)T51)T684r   c                     	 t         j                  }| j                   |dd      d       | j                   |dd      d       | j                  t        |dd       | j                  t        |t               d       y )	Nr         abc r.         abc def r   r   )r   bytes_asstringr3   r6   rE   r%   )r   asstrings     r   test_asstringzCAPITest.test_asstringh   sh    %++&!,h7+q1=A)Xua8)Xvx;r   c                    	 t         j                  }t         j                  }| j                   |dd      d       | j                   |dd      d       | j                   |dd      d       | j	                  t
        |dd       | j	                  t        |dd	       | j	                  t        |dd	       | j	                  t        |t               d	       | j	                  t        |t               d	       y )
Nr   rM   )rN   r    r.   rO   )rP      rN   r   r   )r   bytes_asstringandsizebytes_asstringandsize_nullr3   r6   
ValueErrorrE   r%   )r   asstringandsizeasstringandsize_nulls      r   test_asstringandsizezCAPITest.test_asstringandsizes   s    ,#99(CC3]Ca8:LM-fa8(C*&:KK)_eQ?)%95!D)_fhB)%968QGr   c                 \   t         j                  }| j                   |dd      d       | j                   |dd      d       | j                   |dd      d       | j                   |dd      d       | j                   |dd      d       | j                   |dd      d       | j                   |d	d      d
       | j                   |d	d      d
       | j                   |dd      d       | j                   |dd      d       | j                   |t        d      d      d       y )Nr   r   zb'abc'r0   s   a'b"c"dzb'a\'b"c"d's   a'b"cz	b'a\'b"c's   a'b'c"dzb'a\'b\'c"d's   a'b'c'dzb'a\'b\'c\'d'z
b"a'b'c'd")r   
bytes_reprr3   r   )r   r]   s     r   	test_reprzCAPITest.test_repr   s   ))
J2MBJ2MBNA68JKNA68JKL!46FGL!46FGNA68KLNA68KLNA68LMNA68IJM&$91=}Mr   Nc           	         	 |t         j                  }| j                   |dd      d       | j                   |dd      d       | j                   |t        d      d      d       | j                   |dt        d            d       | j                   |t        d      d      d       | j                   |dt        d            d       | j                   |t	        d      d	d
 d      d       | j                   |dt	        d      d	d
       d       | j                   |ddd      d       | j                   |dt        d      d      d       | j                   |t               dd      d       | j                  t        t                     d       | j                  t        |t	        d      d d d   d       | j                  t        |dt	        d      d d d          | j                  t        |dd       | j                  t        |dd       | j                  t        |dd       | j                  t        |g d       | j                  t        |dg        | j                  t        |g g        | j                   |t        d      t               | j                   |dt              t               | j                   |t        t                     t               | j                   |t               t              t               y )Nr   s   defs   abcdefs   a bs   c ds   a bc dr   s   xabcyr0   rM   s   xdefyTr   s   axbyczr-   s   dxeyfzdefr   )r   bytes_concatr3   r$   
memoryviewbytesr5   r6   rE   r4   r%   )r   concats     r   test_concatzCAPITest.test_concat   s}   #>++F/;1;?	& 16:IF	&(9:IF	& 137@Yv%67@
8 4Qq 96BIN
8(<Qq(ABIN5yA	&(94@)L6?UWq))VZ	-B3Q3-GP)VVZ	5J3Q35OP)VVU;)VUF;)VUE:)VR8)VVR8)VR4f-t4-t4fh/6$/6r   c                 D    	 | j                  t        j                         y r   )re   r   bytes_concatanddelr   s    r   test_concatanddelzCAPITest.test_concatanddel   s    )556r   c                     	 t         j                  }| j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j                   |d      d       | j                  t              5  | j                   |d	      d	       d d d        | j                  t              5  | j                   |d
      d
       d d d        | j                  t              5  | j                   |d      d       d d d        dD ]1  }| j                  t        ||       | j                  t        ||d       3 | j                   |dd      d       | j                   |dd      d       | j                   |dd      d       | j                   |dd      d       | j                  t        |dd       | j                   |t              d       | j                  t        |dt        t               | j                  t        |t        t        t               y # 1 sw Y   xY w# 1 sw Y   bxY w# 1 sw Y   9xY w)Nr   s   \t\n\r\x0b\x0c\x00\\\'\"s	   	
 \'"s   	
 s   \xa1\xa2s   s	   \2\24\241s   s   \u4f60s   \zs   \541r/   )   \s   \xs   \xas   \xzs   \xazstricts   x\xareplaces   x?s   x\xays   x?ys   x\xa\xys   x??yignores   xyrj   spamr   )
r   bytes_decodeescaper3   assertWarnsDeprecationWarningr6   rX   r4   r8   r   )r   decodeescapebs      r   test_decodeescapezCAPITest.test_decodeescape   s
   ) 33f-v6&BC0	2&;<oNl3[Am4oFk2K@01\*5zB 201\&16: 201\(3T: 2 ;Aj,:j,8D ; 	h	:EBi;VDk9=wGk8<eD*lE6Bd+S1-vt^T-tT>R# 211111s$   7I-I&#I3I#&I03I=r   )r	   r
   r   r(   r+   r;   r?   rG   rK   rS   r[   r^   re   rh   rt   r   r   r   r   r      sC    
*
*P(/9	5<H"N( 7D7Sr   r   __main__)unittesttest.supportr   import_moduler   r   r   r4   rc   r   r   TestCaser   r	   mainr   r   r   <module>r{      sl     &'M''4	 4	E 	 GSx   GSZ zHMMO r   