python (3.12.0)

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

ΑelddlZddlZddlZddlZddlmZddlmZddlmZejdZ
ddlZddlmZddl
m
Z
	ddlmZmZeeee
j,j/d	ZGd
dej2ZGdd
ej2ZGddej2ZdZedk(rej>yy#e$rej$xZZYwxYw)N)support)
import_helper)	os_helper_tkinter)Tcl)TclError)INT_MAXPY_SSIZE_T_MAX.ceZdZdZy)TkinterTestc.|jttjd|jttji|jttjd|jttjdhy)NTstringset)assertRaises	TypeErrorr_flattenselfs A/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_tcl.pytestFlattenLenzTkinterTest.testFlattenLensf)X%6%6=)X%6%6;	
)X%6%6A)X%6%6@N)__name__
__module____qualname__rrrr
r
sArr
c`eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZej>e jBdk(ddZ"dZ#d Z$d!Z%d"Z&d#Z'd$Z(d%Z)d&Z*d'Z+d(Z,d)Z-e.j^d*Z0y+),TclTestctt|_|jjj|_yN)rinterptkwantobjectsrs rsetUpz
TclTest.setUp's$e;;>>557rc|j}|jd|j|jddy)Nset a 1set a1)r!evalassertEqualrtcls  rtestEvalzTclTest.testEval+s0kk'*3/rc^|j}|j|jddy)Nzset a "a\0b"ab)r!r*r)r+s  rtest_eval_null_in_resultz TclTest.test_eval_null_in_result0s$kk/2H=rc^|j}|j|jddy)Nzset a "<\ud83d\udcbb>"<💻>)r!assertInr)r+s  rtest_eval_surrogates_in_resultz&TclTest.test_eval_surrogates_in_result4s#kk

chh89>Jrc^|j}|jt|jdy)Nr'r!rrr)r+s  rtestEvalExceptionzTclTest.testEvalException8s!kk(388G4rc^|j}|jt|jdy)Nz
this is wrongr6r+s  rtestEvalException2zTclTest.testEvalException2<s!kk(388O<rc|j}|jddd|j|jdddy)Nrar()r!callr*r+s  rtestCallzTclTest.testCall@s6kks3%,S1rc`|j}|jt|jddy)Nrr;r!rrr<r+s  rtestCallExceptionzTclTest.testCallExceptionEs#kk(388E#6rcb|j}|jt|jdddy)Nthisiswrongr?r+s  rtestCallException2zTclTest.testCallException2Is%kk(388F4@rc|j}|jdd|j|jddy)Nr;r(r'r!setvarr*r)r+s  r
testSetVarzTclTest.testSetVarMs2kk

3s'*3/rc|j}|jdd|j|jddy)Na(1)r(zset a(1)rGr+s  rtestSetVarArrayzTclTest.testSetVarArrayRs2kk

6#*-c2rc|j}|jd|j|jddy)Nr&r;r(r!r)r*getvarr+s  r
testGetVarzTclTest.testGetVarWs/kkC-rc|j}|jd|j|jddy)Nz
set a(1) 1rKr(rNr+s  rtestGetVarArrayzTclTest.testGetVarArray\s0kkF+C0rc^|j}|jt|jdyNr;r!rrrOr+s  rtestGetVarExceptionzTclTest.testGetVarExceptionas!kk(3::c2rc^|j}|jt|jdy)NrKrUr+s  rtestGetVarArrayExceptionz TclTest.testGetVarArrayExceptiones!kk(3::f5rc|j}|jdd|j|jdd|j	d|j|jddy)Nr;z
info exists ar(0r!rHr*r)unsetvarr+s  rtestUnsetVarzTclTest.testUnsetVarisWkk

3q/237S/237rc|j}|jdd|jdd|j|jdd|j|jdd|j	d|j|jdd|j|jddy)	NrKrZza(2)zinfo exists a(1)r(zinfo exists a(2)r[r\r+s  rtestUnsetVarArrayzTclTest.testUnsetVarArraypskk

6!

6!"45c:"45c:V"45c:"45c:rc^|j}|jt|jdyrT)r!rrr]r+s  rtestUnsetVarExceptionzTclTest.testUnsetVarExceptionzs!kk(3<<4rc.ddddddddd	d
ddd
zdd
zf
S)NrrZiillllllr`irrs rget_integerszTclTest.get_integers~s41b4!T'#	#rc	|jj}|jD]}|j|j	d|z||j|j	d|z||j|j	d|zjddtdkr|n
td|z|j|j	d|z||j|j	dd|jt|j|jt|jd	d
|jt|jd|jt|jd|jt|jd
|jtttf|jd|jtttf|jdy)Nz %d z %#o o)	rz%oz %#x *4210s42E@r;z42u42)
r!r"rfr*getintreplacetcl_versionintrrr
ValueErrorUnicodeEncodeError)rr,is   rtest_getintzTclTest.test_getintskknn""$	9ASZZ
3Q7SZZ!4a8
SZZ1(=(=c2(FG"-"6QCqM
KSZZ!4a8	9	
B,)SZZ0)SZZt<)SZZ7)SZZ6(CJJ49j(;**f	.-z8D**j	2rc|jj}|j|jdd|j|jdd|j|jdd|j|jdd|j	t
|j|j	t
|jdd|j	t
|jd|j	t|jd	|j	t
ttf|jd
|j	tttf|jdy)Nz 42 rnz 42.5 g@E@rkz42.5rms42.5r;z42.5u42.5)	r!r"r*	getdoublerrrrsrtr+s  rtest_getdoublezTclTest.test_getdoubleskknnv.5x0$7t,d3r*D1)S]]3)S]]FDA)S]]G<(CMM379j(;--	3-z8D--	7rc2|jj}|j|jdd|j|jdd|j|jdd|j|jdd|j	t
|j|j	t
|jdd|j	t
|jd|j	t
|jd|j	t|jd	|j	t
ttf|jd
|j	tttf|jdy)NonTr(rkrFson?r;zonuon)	r!r"assertIs
getbooleanrrrrsrtr+s  rtest_getbooleanzTclTest.test_getbooleanskknn

cnnT*D1

cnnS)40

cnnR($/

cnnQ'/)S^^4)S^^T3?)S^^U;)S^^S9(CNNC89j(;..&	2-z8D..*	6rc|j}tj}|jtj|t|d5}|j
dddd|j||j|jdd|j|jdd|j|jddy#1swY~xYw)	NwzKset a 1
            set b 2
            set c [ expr $a + $b ]
            r'r(set b2zset c3
r!rTESTFN_ASCII
addCleanupunlinkopenwriteevalfiler*r)rr,filenamefs    rtestEvalFilezTclTest.testEvalFileskk))	(((3
(C
 	A
GG
	
	X'*3/'*3/'*3/		s	CC!c|j}tj}|jtj|t|d5}|j
dddd|j||j|jdd|j|jddy#1swY]xYw)Nrz>
            set a "ab"
            set b "a\0b"
            r'r/rrrs    rtest_evalfile_null_in_resultz$TclTest.test_evalfile_null_in_resultskk))	(((3
(C
 	A
GG
	
	X'*H5'*H5		s	B77Cc|j}|jdd}|j|jdd||jdddtj}|jtj
|t
|d5}|jdddd|j||j|jdd|j|jddy#1swY]xYw)	Nencodingsystemzutf-8wbsM
            set a "<>"
            set b "<\ud83d\udcbb>"
            r'r2r)r!r<rrrrrrrr*r))rr,rrrs     r"test_evalfile_surrogates_in_resultz*TclTest.test_evalfile_surrogates_in_resultskk88J1*hAXw/))	(((3
(D
!	Q
GG
	
	X'*N;'*N;		sC::Dc|j}d}	tj||j	t
|j|y#t$r
}Yd}~0d}~wwxYw)N
doesnotexists)r!osremove	Exceptionrrr)rr,res    rtestEvalFileExceptionzTclTest.testEvalFileExceptionsNkk"	IIh	
(3<<9		sA	AAc^|j}|jt|jdy)Nzpackage require DNEr6r+s  rtestPackageRequireExceptionz#TclTest.testPackageRequireExceptions"kk(388,ABrwin32zRequires Windowsctjjtj}|ddk7rtjddtjdd|dd|d	d}tjj|stjd
tj5}|jdtj|dd
g}ddd|jdy#1swYxYw)NrZ:z$Absolute path should have drive partz\\COMPUTERNAME\rz$\zCannot connect to UNC PathTCL_LIBRARY-czimport tkinter; print(tkinter)stkinter)rpathabspathsys
executableunittestSkipTestenvironexistsrEnvironmentVarGuardunset
subprocesscheck_outputr3)rfullnameunc_nameenvstdouts     rtestLoadWithUNCzTclTest.testLoadWithUNCs77??3>>2A;###$JKK%'ZZ%?$,QK$,QRL2ww~~h'##$@AA

*
*
,	HIIm$,,t%EFHF	H
	


j&)	H	Hs5*C::Dcjjdddjdddfd}jtjjtjddjtjd	jt
jd
|dd|d
d|dd|dd|dd|dd|dd|dd|dd|dd|dd|dd|d d|d!d"|d#d"|d$d%|d&d'|d(d'|d)d*|d+t
d,y)-Nrr;rbcxj|}j||j|tyr )
exprstringr*assertIsInstancestrexprexpectedresultrr,s   rcheckz&TclTest.test_exprstring.<locals>.checks1^^D)FVX.!!&#.r8.2+68.2 + 6spamrir[8.2 + 6z14.23.1 + $az6.12 + "$a.$b"z5.64*[llength "6 2"]8{word one} < "word $a"4*2 < 7hypot($a, 4)z5.05 / 4r(5 / 4.0z1.25$5 / ( [string length "abcd"] + 0.0 )20.0/5.0z4.0"0x03" > "2"[string length "a½€"]r[string length "a\xbd\u20ac"]"abc"abcu"a½€"ua½€z
"a\xbd\u20ac"z"a\0b"r/2**64)r!r<rrrrrrrr,s` @rtest_exprstringzTclTest.test_exprstrings\kkQQ	/
	
)S^^4)S^^UDA)S^^Z@(CNNF;
b#
i 
j% 
mU#
!3'
&,
i
ne$
gs
i 
4f=
j% 
nc"
-s3
.4
gu
o}-

.
i"
gs5z"rcjjdddjdddfd}jtjjtjddjtjd	jt
jd
|dd|d
d|dd|dd|dd|dd|dd|dd|dd|dd|dd|dd|d d|d!d"|d#d"jt
jd$|d%t
d&y)'Nrr;rrrcxj|}j||j|tyr )
exprdoubler*rfloatrs   rrz&TclTest.test_exprdouble.<locals>.check-s1^^D)FVX.!!&%0rrrrrrirgffffff,@rgffffff@rgffffff@rg @rrrg@rr|rg?rrg@rrg@rrrr)r!r<rrrrrrs` @rtest_exprdoublezTclTest.test_exprdouble)sIkkQQ	1
	
)S^^4)S^^UDA)S^^Z@(CNNF;
b#
i
j#
mS!
!3'
&,
i
nc"
gs
i
4d;
j#
nc"
-s3
.4(CNNG<
guU|$rcjjdddjdddfd}jtjjtjddjtjd	jt
jd
|dd|d
d|dd|dd|dd|dd|dd|dd|dd|dd|dd|dd|dd|dd|ddjt
jd jt
jd!y)"Nrr;rrrcxj|}j||j|tyr )exprlongr*rrrrs   rrz$TclTest.test_exprlong.<locals>.checkLs1\\$'FVX.!!&#.rrrrrrirrrrrrrrrrZrrrrrrrr)r!r<rrrrrs` @r
test_exprlongzTclTest.test_exprlongHsQkkQQ	/
	
)S\\2)S\\5$?)S\\:>(CLL&9
b!
i
j!
mQ
!1%
&*
i
na 
gq
i
4a8
j!
na 
-q1
.2(CLL':(CLL':rcjjdddjdddfd}jtjjtjddjtjd	jt
jd
|ddd
D]#}||d|d|zd|d|zd%dD]#}||d|d|zd|d|zd%|dd|dd|dd|dd|dd|dd|dd|dd|dd|dd|dd|dd|dd|ddjt
jd |d!dy)"Nrr;rrrcj|}j||j|tj	|t
yr )exprbooleanr*rrrassertNotIsInstanceboolrs   rrz'TclTest.test_exprboolean.<locals>.checkksA__T*FVX.!!&#.$$VT2rrrrrriF)r[falsenooffz"%s"z{%s})r(trueyesr{Trrrrrrrrrrrrrrrr)r!r<rrrr)rrvaluer,s`  @rtest_exprbooleanzTclTest.test_exprbooleangskkQQ	3	
)S__5)S__eTB)S__jA(COOV<
b%0	)E%&5.%(&5.%(	)0	(E%&5.$'&5.$'	(	i
j$
mT"
!4(
&.
i
nd#
gt
i
4d;
j$
nd#
-t4
.5(COOW=
gtrcjfd}|dd|dd|dd|dd|dd|d	d|d
d|ddy)Nc	jd|}jr)j||j|tyj||t
t	|fj|tyNr)r<r#r*rrrr3rrs   rrz$TclTest.test_booleans.<locals>.checksiXXfd+F   2%%fc2

ftSX-?&@A%%fc2rrTrr{rFrrz1 < 2z1 > 2)r!rs` @r
test_booleanszTclTest.test_booleanssckk	3	fd
eT
dD
gu
dE
eU
gt
gurcH|j}|jD]}|jdt|}|jr)|j|||j
|tS|j|t||j
|tyr)r!rfr<rr#r*rrr)rr,rurs    rtest_expr_bignumzTclTest.test_expr_bignumskk""$	3AXXfc!f-F  +%%fc2  Q0%%fc2	3rc	fd}j|djrdndj|djrdndj|ddj|ddj|ddj|d	d	j|d
d
j|ddj|ddtjd
k7r0j|ddj|ddj|djrdnd	j|djrdndj|djrdndj	D]1}j||jr|n
t|3ddddtjjtjjtjjtjjfD]H}jrj|||(jt|||Jjrz|td}j||j|tdtdj|tdtdnhjt|tdtdjt|tdtdj|djrdndj|dd d!ggjrd"yd#y)$Nc>jjdd|S)Nr_)r!r<)rrs r	passValuez.TclTest.test_passing_values.<locals>.passValues;;##E366rTr(Fr[r	string€
string💻string	string½
string€ustring💻r<><€><>r2stringstring
strÀ€ingsstringustr½ingrr|UUUUUU?naninfrZr333333@z1 2 3.4r;rc)r;)rra {b c})r*r#rplatformrfr
float_infominmaxrassertNotEqual)rrrurs`   rtest_passing_valueszTclTest.test_passing_valuess\	7	
4$2B2B$L5)D4D4D5#N8,h7>2NC#568JK<0,?#346FG#568JK#9:/	1<<7"Y'=>'
)Y'OP+
-=1*.*:*:	N#45.2.>.>*DT	V=1*.*:*:	N""$	NAYq\0@0@1c!fM	NsD#..$$cnn&8&8>>%%%(:(:':<	9A  1q1  y|!4a8
	9%,'A1%YuU|4eElCYe}5e}EU9U5\#:;U5\JU9eEl]#;<uU|mL#34-1-=-=)9	NC#s#45.2.>.>*	ODM	OrcPdfd}jjd|jjjjdd,j
dfd}fd}|dd|dd	|d
|d|d|d
tjdk7r|dd|dd|d|dd
|dd|dd|dd|d|d|d|dd|dd|dd jD]}||t|d!D]}||t|d"tjjtjjtjjtjjfD]}||||td#||td#||d$d|d%d&|d'd(gd)d*gd+ggd&y)-Nc||Sr r)argrs rtestfuncz+TclTest.test_user_command.<locals>.testfuncs
FJrr)eqc||}djjd|}jt||j|t|||y)Nr)r!r<rr)rrr rrrs    rrz(TclTest.test_user_command.<locals>.checks\ F  U3A!!&#.vx !!!S)q(OrcXjt||t|dzy)Ng|=)delta)assertAlmostEqualrabs)actualrrs  rfloat_eqz+TclTest.test_user_command.<locals>.float_eqs+""5=(),X)>
#
@rTr(Fr[rustring½rrrrrr	r2risstrings	string€ustring€sstringrrrrr
rrsstring€ustrÀ€ing€)rr|r
rrr)rZ)r`)rr5 6rz1 2 {3 4} {5 6} {}rZr`rrr)r )r!
createcommandrr"
deletecommandr*rrrfrreprrrrr)rrrr(rurrs`     @rtest_user_commandzTclTest.test_user_commands		
!!*h744jA		d.>.>			@	dC
eS
h
l
n
 !<<7"(*5:NK
b	
i"
#%9:
m\*
c2
l

 !
m\*
!12
+-IJ""$	A!SV	!	A!T!W	++S^^-?-?>>%%%(:(:':<	"A!!	"	eElx(
uU|m)
b"

*,@A
q1$Ar*,@Arc|jjj}|jjj}|j	t
||j	t
|dd|j	t
|ddddddd	d
ddd
ddddddddddgdfdddggdddgff|dddd|jrdndfg}|jsd }nd!}||d"d#d$d%d&d|fgz
}d'|jd(td)|jj}|D]$\}}|j|||d*|d+|&|j	t|d,y)-Nr;rr`)r)r)rir){}ri)z""r0)z
a
 b	
 c
 r;rr)s
a
 b	
 c
 r1)ua €r;€)ua 💻r;u💻)sa €r2)sa 💻r4)sa r4)s	ab cd)r/zcd)rr;zb c)za b\ cr5)r5r5)za 2)r;r)r;r`r6)za 3.4)r;3.4)r;rr8)rrrrlistrZrrr)r(rr7)12r3u€r7)r3€rdictcreater;r3r<zwant objects? z, Tcl version: z, Tcl patchlevel: zarg=z, {)r!r"	splitlistr<rrr#rqinfo_patchlevelr*r)rr@r<	testcasesrdbg_inforress        rtest_splitlistzTclTest.test_splitlistsKKNN,,	{{~~"")Y/)YS9)Y2/0)108@<%%( #$
HC:
sCj 12
&!S&
)$($4$4 !
#/
	6>H>H
&(B/6
J

	
	
''dkk6Q6Q6SU!	=HCYs^S-0(;
=	=	
(Is3rc
tj}|jj}d}|j	|||ddddd|j	|||ddddd}|j	|||dd	dd
d|j	|||d	dd
d|jt||d|jt||d|jd
dd	dddd}|j	||||jrd	ndddd|jdddd	dddd}|jsdddd}nd	ddd}|j	||||y)Nz#-a {1 2 3} -something foo status {}Fz1 2 3foori)-a
-somethingstatus)r;	somethingrJ)rHrZr`rrIrGrJr/rLr/z-a b -c )rHrrr9rHrIrJrr=r>)	tkinter
_splitdictr!r"r*rRuntimeErrorr<r#)r	splitdictr,rrs     rtest_splitdictzTclTest.test_splitdictEs&&	kknn33U3%2>	@3,<	>E3U3ETB	D3,%4@	B	
,	3
C,	38IJhhviuhL3,#//)W2
/	0hhvxYeXrK$5BGH&UbIH3,h7rctjjjfdfd}|d|d|d|d|d|d|d	|d
|d|d|d
|d|d|d|d|d|d|d|d|d|d|d|d|dy)Nc*jd|dS)Nlindexr)r<)sr,s runpackz!TclTest.test_join.<locals>.unpackis88Ha++rc
j|g|j|dg|j|gg|j|dgg|j|gdg|j|dgdg|y)Nr)r*)rjoinrrVs rrz TclTest.test_join.<locals>.checkksVD%M2E:VD%$45u=VF4%	?$;<eDVF4%+=$>?GVF4%!+=$>?GVF4%Q+@$ABEJrrirzsp amzsp	amzsp
amz 	
z{spam}z{sp am}z"spam"z"sp am"z{"spam"}z"{spam}"zsp\amz"sp\am"z	"{}" "{}"z"\z"{z"}z
\z
{z
}z\
z{
z}
)rM_joinr!r")rrrXr,rVs` @@@r	test_joinzTclTest.test_joinfs}}kknn	,	K	b	
f

g
h
h
g
h
i
h
i
j
j
h
j
k
e
d
d
f

e
e
f

e
erctj|tjtj|tjtj|tj
yr )rcheck_disallow_instantiationrTcl_ObjTkttType	TkappTypers rtest_new_tcl_objzTclTest.test_new_tcl_objsD,,T83C3CD,,T83D3DE,,T83E3EFrN)1rrrr$r-r0r4r7r9r=r@rErIrLrPrRrVrXr^rarcrfrvryrrrrrrr
skipUnlessrrrrrrrrrrr-rErQrZrcpython_onlyr`rrrrr%s80
>K5=2
7A0
3
.
1
368;5#2*
76 06<":CX02DE*F** #D%>;>&P&	3.O`6Bp.4`8B#J
GGrrceZdZdZej
ejee	kdejedzdddZej
ejee	kdejedzddd	Zej
ejee	kdejedzd
ddZ
y)

BigmemTclTestc"t|_yr )rr!rs rr$zBigmemTclTest.setUpserzneeds UINT_MAX < SIZE_MAXrZrF)sizememusedry_runcjd|z}|jt|jjdd|dy)N rindexr)r
OverflowErrorr!r<)rrfrs   rtest_huge_string_callz#BigmemTclTest.test_huge_string_calls0d
-)9)98WeUVWrr`c|jj}dd|zz}|jt|j||jt|j
||jt|j||jt|j||jt|j||jt|j||jt|j||jt|j|dd|jt|jd|d|jt|j||jt|jd||jt|j||jt|j||jt|j||jt|j||jt|j ||jt|j"|t$|jt|j&|y)Nr(rjxr;)r!r"rrlrorxr~r)rrecordadderrorinforHr]rrrr@r*rr+rrfr"rs    rtest_huge_string_builtinsz'BigmemTclTest.test_huge_string_builtinss[[^^cDj -E:-u=->-%8-e<-E:-%@-E3D-CD-e<-c5A-%@->-e<-?-u=-)9)95#F-)9)95Arrc|jj}dd|zz}|jt|j||jt|j
||jt|j
d|y)Nr(rjro)r!r"rrlrr]rrs    rtest_huge_string_builtins2z(BigmemTclTest.test_huge_string_builtins2sc
[[^^cDj -e<-e<-c5ArN)rrrr$rrbrrar	r

bigmemtestrmrsrurrrrdrds
X>13NOWWq[EBXCPX
X>13NOWWq[EBBCPB,
X>13NOWWq[EBBCPBrrdcvtjr)t}td|j	dddyy)Nzpatchlevel =info
patchlevelT)flush)rverboserprintr<)r,s rsetUpModuler}s,e
nchhv|<DIr__main__) rrrrtestrtest.supportrr
import_modulerrMrr	_testcapir	r
ImportErrormaxsizetuplemaprrTCL_VERSIONsplitrqTestCaser
rrdr}rmainrrr<module>rs
	&"'=&&z2+1CX1177<=>
A(##
Aj	Ghj	GX.BH%%.BbJzHMMOm+"{{*Gn+sCC&%C&