python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_binascii.cpython-312.pyc

͑eL$dZddlZddlZddlZddlZddlmZmZmZgdZ	gdZ
e
e	zddgzZGdd	ejZ
Gd
de
ZGdd
e
ZGdde
ZGddejZedk(rej&yy)zTest the binascii C module.N)
bigmemtest_1G_4G)
b2a_base64b2a_hexb2a_qpb2a_uuhexlify)
a2b_base64a2b_hexa2b_qpa2b_uu	unhexlifycrc32crc_hqxceZdZeZdZeeedz
Zedz
ZdZdZdZ	dZ
dZd	Zd
Z
dZdZd
ZdZdZdZdZdZdZdZdZy)BinASCIITests.The quick brown fox jumps over the lazy dog.
s
Hello world.
cD|j|j|_yN)	type2testrawdatadataselfs F/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_binascii.pysetUpzBinASCIITest.setUpsNN4<<0	c|jttjt|jttj
tyr)
assertTrue
issubclassbinasciiError	Exception
Incompleters rtest_exceptionszBinASCIITest.test_exceptionss2
8>>9=>
8#6#6	BCrc	tD]O}|jttt|d|jttt|Qy)N__call__)
all_functionsr hasattrgetattrr"assertRaises	TypeError)rnames  rtest_functionszBinASCIITest.test_functions#sD!	BDOOGGHd$;ZHIi4)@A	Brcd}|jd|}tttD]\}}t	t
|}t	t
|}	||j
|}||j
|}|j|dj|||||j|t|jt|jt|d|jtj|dt |jtj"|t y#t$r,}	|jdj|||	Yd}	~	d}	~	wwxYw)N-{}/{} conversion raises {!r}{}/{} conversion: {!r} != {!r}r)rzip
a2b_functions
b2a_functionsr+r"rr$failformatassertEqualassertIsInstancebytes
assertLessmaxrintr)
rMAX_ALLrawfafba2bb2aareserrs
          rtest_returned_valuez BinASCIITest.test_returned_value)s<ll8G$-7	)FB(B'C(B'C
Ns+,$..+,
S#(,,2F2r3,D
F!!#u-!!!U+OOCFC(	)	
h..sA6<hnnS137
N		8??BLMM
Ns
.D==	E2"E--E2cd}g}tdt|j|D]I}|j|j|||z}t	j
|}|j
|Kt}|D]-}|j|}t	j|}||z
}/|j||jy)N9r)
rangelenrrr"rappendr<rr:)r
MAX_BASE64linesibrFrGlines        rtest_base64validzBinASCIITest.test_base64valid=s
q#dll+Z8	At||Aa
l;<A##A&ALLO	g	Dt$A##A&A1HC		
dll+rc
d}g}tdt|j|D]I}|j|j|||z}tj|}|j|Kt
d}tdD]}||vs
j|
fd}t}t||D]-}	|j|	}tj|}||z
}/|j||j|jtj|j
dy)NrKrs@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/rc}t|t|z}t}|rG|rEt|t|z|kDr|d|dd}}n
|d|dd}}|j||r|rE||z|zS)Nr)rM	bytearrayrN)rSnoiseratiorGcfillerss     raddnoisez1BinASCIITest.test_base64invalid.<locals>.addnoise[sEIU+E+C5t9E
*U2"1gtABxtA$QxqruA

1
5;%%rr)rLrMrrrr"rrNrXmaprr:)rrOrPrQrRrFvalidr]rGrSr\s          @rtest_base64invalidzBinASCIITest.test_base64invalidLs"
q#dii.*5	At||Aa
l;<A##A&ALLO	
+Ss	"A~q!	"
	&k%(	Dt$A##A&A1HC		
dll+	
,,T^^G-DEsKrcdtdtdtffddtffd}dtffd}dtffd}dtffd}|d	d
|dd
|dd
|d
d|dd|dd
|dd
|dd
|dd
|dd
|dd|dd|dd|dd|ddy)Nassert_regexrnon_strict_mode_expected_resultcjtj|5tjj	|ddddjtjj	|d|jtjj	||y#1swYtxYw)NT)strict_modeF)assertRaisesRegexr"r#rrr:)rbrrcrs   r_assertRegexTemplatezBBinASCIITest.test_base64_strict_mode.<locals>._assertRegexTemplatess''E
L##DNN4$8dK
LX001ESXY<
>X001EF<
>	
L
Ls'B<<Ccd||y)Nz(?i)Excess datarrcrgs  rassertExcessDataz>BinASCIITest.test_base64_strict_mode.<locals>.assertExcessData{s !3T;Z[rcd||y)Nz(?i)Only base64 datarirjs  rassertNonBase64DatazABinASCIITest.test_base64_strict_mode.<locals>.assertNonBase64Data~s !8$@_`rcd||y)Nz(?i)Leading paddingrirjs  rassertLeadingPaddingzBBinASCIITest.test_base64_strict_mode.<locals>.assertLeadingPaddings !7?^_rcd||y)Nz(?i)Discontinuous paddingrirjs  rassertDiscontinuousPaddingzHBinASCIITest.test_base64_strict_mode.<locals>.assertDiscontinuousPaddings !=tEdersab==aisab===sab==:sabc=asisabc=:sab==
s
ab==sab:(){:|:&};:==sa
b==sab===r==s===sab=c=sab=ab==si)strr<)rrkrmrorqrgs`    @rtest_base64_strict_modez$BinASCIITest.test_base64_strict_modeqs	>s	>%	>bg	>	\E	\	au	a	`	`	fe	f	4(4(4(8,8,D)	It,.5It,K.	T3'UC(VS)"8X6":|<rc
fd}|d|d|d|d|d|d|d|d	fd
}|d|d|d
|d|d|d|dy)Ncjtjd5tjj	|dddy#1swYyxYw)Nz(?i)Incorrect padding)rfr"r#rr)rrs rassertIncorrectPaddingz>BinASCIITest.test_base64errors.<locals>.assertIncorrectPaddingsD''8PQ
:##DNN4$89
:
:
:s%AAsabsab=sabcsabcdefsabcdef=sabcdefgsa=b=sa
b=cttjdd|}dt|z}j	t
j|5tjj|dddy#1swYyxYw)Ns[^A-Za-z0-9/+]rz((?i)Invalid.+number of data characters.+)	rMresubrurfr"r#rr)rn_data_charsexpected_errmsg_rers   rassertInvalidLengthz;BinASCIITest.test_base64errors.<locals>.assertInvalidLengthsnrvv&8$EFL;c,>OO
''8JK
:##DNN4$89
:
:
:s%A>>Basa=sa==sa===saaaaas]aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas
A	B
C ??DEri)rryrs`  rtest_base64errorszBinASCIITest.test_base64errorss	:	u%v&v&y)z*z*w'x(	:	D!E"F#G$H%/0O,rcd}dD]}g}tdt|j|D]K}|j|j|||z}tj||}|j|Mt}|D]-}|j|}tj|}||z
}/|j||j|jtjdd|jtjdd|jtjd	d|jt
jt
jd
|jt
jt
jd|jt
jt
jd|jtjd
d|jtjdd|jtjddd|jtjdd|jtjdd|jtjdd|jtjddd|jtjdtjd|jt5tjdddddy#1swYyxYw)Nr1)TFr)backtickss ss!!!!s.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!xs!>   
rs 
Ts`
sCats
$ $-A=   
s
$`$-A=```
)rLrMrrrr"r	rNr<rr:r,r#r-)	rMAX_UUrrPrQrRrFrGrSs	         rtest_uuzBinASCIITest.test_uuso%	0HE1c$))nf5
 NN4<<!F(#;<OOA9Q
 'C
NN4(OOA&q

S$,,/	0	
1:>1:>1:>(..(//;G(..(//7C(..(//7C	
.
;-v6t<fE0#60#64nEdC'	)8!8	:


y
)	'OOC&	'	'	's"MMctj|jdd}tj|jd|}|j|d|j	t
tj|j	t
tj|jddD]:}|jtj|jd||dz<y)NTest the CRC-32 ofr
 this string.i7r)rrWi4iE#ixV4i)r"rrr:r,r-rcrcs  rtest_crc_hqxzBinASCIITest.test_crc_hqxst~~.CDaHt~~.>?Ee$)X%5%56)X%5%5t~~c7JK8	+CX--dnnS.A3G 6\
+	+rctj|jd}tj|jd|}|j|d|j	t
tjy)Nrrij])r"rrr:r,r-rs  r
test_crc32zBinASCIITest.test_crc32sXnnT^^,ABCnnT^^,<=sCj))X^^4rcFd}tj|j|}tj|j|}|j	|||jtjtj|dd|jtjtj|dddz|jtjtjtddg|jtjtjd|jtjtjd|jtjtjd|jtjtjd|j	tj|j|||j	tj|j||y)	N {sworldishelloi0rqs0Gs0gsG0sg0)
r"rrrr:r,r#r<r
r)rstus    rtest_hexzBinASCIITest.test_hexsp_T^^A./T^^A./A(..(*:*:AcrFC(..(*:*:AcrFTMJ(..(*:*:E3*<MN(..(*:*:EB(..(*:*:EB(..(*:*:EB(..(*:*:EB	
))$..*;<a@++DNN1,=>Brcd}|jtj|j||j	jd|j	ddjd}|jtj|j|dd||j	djd}|jtj|j|d|y)z?Test that hexlify and b2a_hex are binary versions of bytes.hex.rascii.:N)r:r"r
rhexencoder)rr	expected8	expected1s    rtest_hex_separatorzBinASCIITest.test_hex_separators

`))$..*;<aeegnnW>UVEE#qM((1	))$..*;S!DiPEE#J%%g.	))$..*;SA9Mrc|j}tj}tj}|dd	|dUiddi|j	d|j
||dd|j
||dd|j
||dd|j
||d	d
|j
||dd
|j
||dd|j
||d
d|j
||dd|j
||dd|j
||dd|j
||dd|j
||dddd|j
||dd|j
||ddd|jt
|d|j
||dd|j
||dd|j
||d d!|j
||d"d#|j
||dd$|j
||dd|j
||ddd%|j
||d&dd'|j
||d(dd)|j
||d&dd*d+|j
||d,dd,|j
||dd-|j
||d.d/|j
||d0d0|j
||d1d1|j
||d0ddd-|j
||d1ddd/|j
||d2d3|j
||d4d5|j
||d4d6d5|j
||d7d7|j
||d7d6d8|j
||d7d9d7|j
||d:d;|j
||d:d6d;|j
||d:d9d<|j
||d=d=|j
||d=d6d>|j
||d=d9d?|j
||d@dA|j
||d@d6dA|j
||d@d9dB|j
||dCdddD|j
||dEdddF|j
||dCddd6dG|j
||dEddd6dH|j
||dCddd9dI|j
||dEddd9dJ|j
||dKdL|j
||dMdN|j
||dOdP|j
||dQdR|j
||dSdS|j
||dTdddLy#t
$rY6wxYw)VNrF)rheaderrWz/binascii.a2b_qp(**{1:1}) didn't raise TypeErrorrss= rts=
ABsABs=
ABs=
ABs=
AB
CDsCDs=ABs=abs=AXs=XArs=A_T)r bar)foos=00
=00s
s

s
=FF
=FF
=FFsR000000000000000000000000000000000000000000000000000000000000000000000000000

s[000000000000000000000000000000000000000000000000000000000000000000000000000=
=FF
=FF
=FFrs=7Fs=3Ds=5Fsx ysx_ysx sx=20)r	quotetabssx=20ysx	ys=20	s=09s xs	xs=00s
s=00
)rsx y	zs	x=20y=09z)istextsx 
y	
s
x=20
y=09
s
x =0Ay	=0Asx 
y	
s
x=20
y=09
s
x =0Dy	=0Dsx 
y	
sx=20
y=09
sx =0D=0Ay	=0D=0Asx 
sx 
sx	
sx	
sx=20
sx=09
sx =0Dsx	=0D.s=2Es.
s=2E
s.
s=2E
s.s=2E=00sa.
s.a)r)rr"r
rr8r-r:r,)rrr
rs    rtest_qpzBinASCIITest.test_qpsNN	C&	I 1Q% 
IIGH	$0#6	% 0159	% 0148	( 34e<	* 56>	( 34c:	, 78%@	& 12G<	& 12G<	& 12F;	& 12F;	& 1#2 67?	$0$7	$=tD)V7	- 89?K	*? @A-	/	*I JK:	<	
	' 23V<	$0&9	$0$7	$=vF	& 1$?H	% 0>H	& 1$$O!	#	' 24@'J	$0&9	% 016:	% 0159	& 12F;	% 0" 56?	& 1#2 67@	% 016:	' 23X>	' 2dCXN	) 45yA	) 4E%	'	) 4UC"	$	, 78(	*	, 74H(	*	, 7F'	)	, 78%	'	, 74H(	*	, 7F'	)	*: ;<,	.	*: ;tL,	.	*: ;EJ-	/	
	) 4Sb 9:GD	* 5cr :;XF	) 4Sb 9TJ"	$	* 5cr :dK"	$	) 4Sb 9%H!	#	* 5cr :5I"	$	
	$0&9	& 12H=	& 12H=	& 12I>	' 23W=	% 0" 56?u		s
]==	^
	^
c	|jd}tD]7}|dk(rtj|dt	t|}	||9y#t
$r,}|j
dj|||Yd}~kd}~wwxYw)Nrrrz{}({!r}) raises {!r})rr)r"rr+r$r8r9)remptyfuncfrHs     rtest_empty_stringzBinASCIITest.test_empty_stringxss#!		KDy   *$'A
K%		K
K		077eSIJJ
KsA	B"BBcRttttz
D](}	|jttt|d*|jttjddy#t$r+}|jdj||Yd}~d}~wwxYw)Ntestz{}("test") raises {!r}r)setr)r6r,r-r+r"r$r8r9r)rrrHs   rtest_unicode_b2azBinASCIITest.test_unicode_b2as
&]);;	FD
F!!)WXt-DfM	F	
)X%5%5vqA
F		299$DEE
Fs%A22	B&;!B!!B&cHd}|jd|}tttD]\}}t	t
|}t	t
|}	||j
|}||}|jd}||}	|j	|dj|||	||j|	|j|	t|jt|dy#t$r,}
|jdj|||
Yd}
~
d}
~
wwxYw)Nr1rr2r3€)rr5r6r7r+r"rdecoder$r8r9r:r;r<r,
ValueError)rr@rArBrCrDrErF
binary_resrGrHs           rtest_unicode_a2bzBinASCIITest.test_unicode_a2bsll8G$-7	7FB(B'C(B'C
Ns+, V
HHW%!f
S#(,,2F2r3,D
FS*-!!#u-j#v6	7
N		8??BLMM
Ns
8C,,	D!5"DD!c|jd}|jtj|d|jtj|dd|jtj|ddy)Nshellos	aGVsbG8=
T)newlineFsaGVsbG8=)rr:r"r)rrRs  rtest_b2a_base64_newlinez$BinASCIITest.test_b2a_base64_newlinesnNN8$,,Q/&	(,,Q=&	(,,Q>$	&rN)__name__
__module____qualname__r<rrrLrr&r/rIrTr`rvrrrrrrrrrrrrirrrrsIAGuU3Z  G$$G1D
B8(
,#LJ)=X->#'J
+5C$
Nd@LKB7*&rrceZdZdZy)ArrayBinASCIITestc@tjdt|S)NB)arraylist)rrs  rrzArrayBinASCIITest.type2tests{{3Q((rN)rrrrrirrrrs)rrceZdZeZy)BytearrayBinASCIITestN)rrrrXrrirrrrsIrrceZdZeZy)MemoryviewBinASCIITestN)rrr
memoryviewrrirrrrsIrrc8eZdZdZeedzdddZy)ChecksumBigBufferTestCasez<bpo-38256 - check that inputs >=4 GiB are handled correctly.rWF)sizememusedry_runcfdtdzz}|jtj|dy)NsnyanrWiM"B>)rr:r"r)rrrs   rtest_big_bufferz)ChecksumBigBufferTestCase.test_big_buffers)#'"-z:rN)rrr__doc__rrrrirrrrs$FS1WQ6;7;rr__main__)runittestr"rr{test.supportrrrr7r6r)TestCaserrrrrrmainrirr<module>rs!	--


-)0DD
[&8$$[&|))
L\; 1 1;zHMMOr