python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_tcl.cpython-311.opt-2.pyc

emddlZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddl	mZe
jdZ
ddlZddlmZddl
mZ	ddlmZmZn#e$rejxZZYnwxYweeee
jd	ZGd
dejZGdd
ejZGddejZdZ e!dkrej"dSdS)N)support)
import_helper)	os_helper_tkinter)Tcl)TclError)INT_MAXPY_SSIZE_T_MAX.ceZdZdZdS)TkinterTestc8|ttjd|ttji|ttjd|ttjdhdS)NTstringset)assertRaises	TypeErrorr_flattenselfs A/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_tcl.pytestFlattenLenzTkinterTest.testFlattenLensx)X%6===)X%6;;;	
)X%6AAA)X%6@@@@@N)__name__
__module____qualname__rrrr
r
s(AAAAArr
cXeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZeje j!dkddZ"dZ#d Z$d!Z%d"Z&d#Z'd$Z(d%Z)d&Z*d'Z+d(Z,d)Z-e.j/d*Z0d+S),TclTestcrt|_|jj|_dSN)rinterptkwantobjectsrs rsetUpz
TclTest.setUp*s+ee;>5577rc|j}|d||dddS)Nset a 1set a1)r!evalassertEqualrtcls  rtestEvalzTclTest.testEval.sCk'**3/////rcf|j}||dddS)Nzset a "a\0b"ab)r!r*r)r+s  rtest_eval_null_in_resultz TclTest.test_eval_null_in_result3s1k/22H=====rcf|j}||dddS)Nzset a "<\ud83d\udcbb>"<💻>)r!assertInr)r+s  rtest_eval_surrogates_in_resultz&TclTest.test_eval_surrogates_in_result7s0k

chh899>JJJJJrcV|j}|t|jddS)Nr'r!rrr)r+s  rtestEvalExceptionzTclTest.testEvalException;s)k(38G44444rcV|j}|t|jddS)Nz
this is wrongr6r+s  rtestEvalException2zTclTest.testEvalException2?s)k(38O<<<<<rc|j}|ddd||ddddS)Nrar()r!callr*r+s  rtestCallzTclTest.testCallCsIks3%,,S11111rcX|j}|t|jdddS)Nrr;r!rrr<r+s  rtestCallExceptionzTclTest.testCallExceptionHs+k(38E#66666rcZ|j}|t|jddddS)Nthisiswrongr?r+s  rtestCallException2zTclTest.testCallException2Ls-k(38F4@@@@@rc|j}|dd||dddS)Nr;r(r'r!setvarr*r)r+s  r
testSetVarzTclTest.testSetVarPsEk

3s'**3/////rc|j}|dd||dddS)Na(1)r(zset a(1)rGr+s  rtestSetVarArrayzTclTest.testSetVarArrayUsEk

6#*--c22222rc|j}|d||dddS)Nr&r;r(r!r)r*getvarr+s  r
testGetVarzTclTest.testGetVarZsAkC-----rc|j}|d||dddS)Nz
set a(1) 1rKr(rNr+s  rtestGetVarArrayzTclTest.testGetVarArray_sCkF++C00000rcV|j}|t|jddSNr;r!rrrOr+s  rtestGetVarExceptionzTclTest.testGetVarExceptionds)k(3:c22222rcV|j}|t|jddS)NrKrUr+s  rtestGetVarArrayExceptionz TclTest.testGetVarArrayExceptionhs)k(3:f55555rc|j}|dd||dd|d||dddS)Nr;z
info exists ar(0r!rHr*r)unsetvarr+s  rtestUnsetVarzTclTest.testUnsetVarlsyk

3q/223777S/22377777rc|j}|dd|dd||dd||dd|d||dd||dddS)	NrKrZza(2)zinfo exists a(1)r(zinfo exists a(2)r[r\r+s  rtestUnsetVarArrayzTclTest.testUnsetVarArrayssk

6!

6!"455c:::"455c:::V"455c:::"455c:::::rcV|j}|t|jddSrT)r!rrr]r+s  rtestUnsetVarExceptionzTclTest.testUnsetVarException}s)k(3<44444rc.ddddddddd	d
ddd
zdd
zf
S)NrrZiillllllr`irrs rget_integerszTclTest.get_integerss41b4!T'#	#rc	b|jj}|D]}||d|z|||d|z|||d|zddtdkr|ntd|z||d|z|||dd|t|j|t|jd	d
|t|jd|t|jd|t|jd
|tttf|jd|tttf|jddS)Nz %d z %#o o)	rz%oz %#x *4210s42E@r;z42u42)
r!r"rfr*getintreplacetcl_versionintrrr
ValueErrorUnicodeEncodeError)rr,is   rtest_getintzTclTest.test_getintskn""$$	9	9ASZZ
33Q777SZZ!44a888
SZZ1(=(=c2(F(FGG"-"6"6QQCqMM
K
K
KSZZ!44a8888B,,,)SZ000)SZt<<<)SZ777)SZ666(CJ4449j(;*f	.	.	.-z8D*j	2	2	2	2	2rc&|jj}||dd||dd||dd||dd|t
|j|t
|jdd|t
|jd|t|jd	|t
ttf|jd
|tttf|jddS)Nz 42 rnz 42.5 g@E@rkz42.5rms42.5r;z42.5u42.5)	r!r"r*	getdoublerrrrsrtr+s  rtest_getdoublezTclTest.test_getdoublesVknv..555x00$777t,,d333r**D111)S]333)S]FDAAA)S]G<<<(CM37779j(;-	3	3	3-z8D-	7	7	7	7	7rch|jj}||dd||dd||dd||dd|t
|j|t
|jdd|t
|jd|t
|jd|t|jd	|t
ttf|jd
|tttf|jddS)NonTr(rkrFson?r;zonuon)	r!r"assertIs
getbooleanrrrrsrtr+s  rtest_getbooleanzTclTest.test_getbooleanshkn

cnnT**D111

cnnS))4000

cnnR(($///

cnnQ''///)S^444)S^T3???)S^U;;;)S^S999(CNC8889j(;.&	2	2	2-z8D.*	6	6	6	6	6rc|j}tj}|tj|t|d5}|ddddn#1swxYwY||||	dd||	dd||	dddS)	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.testEvalFiles%k)	((333
(C
 
 	A
GG


															
	X'**3///'**3///'**3/////A&&A*-A*c|j}tj}|tj|t|d5}|ddddn#1swxYwY||||	dd||	dddS)Nrz>
            set a "ab"
            set b "a\0b"
            r'r/rrrs    rtest_evalfile_null_in_resultz$TclTest.test_evalfile_null_in_resultsk)	((333
(C
 
 	A
GG


															
	X'**H555'**H55555rcH|j}|dd}||jdd||dddtj}|tj|t
|d5}|ddddn#1swxYwY|||	|
dd|	|
dddS)	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_resultsFk88J11*hAAAXw///)	((333
(D
!
!	Q
GG


															
	X'**N;;;'**N;;;;;sB00B47B4c|j}d}	tj|n#t$r
}Yd}~nd}~wwxYw|t
|j|dS)N
doesnotexists)r!osremove	Exceptionrrr)rr,res    rtestEvalFileExceptionzTclTest.testEvalFileExceptionspk"	Ih			DDDD	(3<99999s 
44cV|j}|t|jddS)Nzpackage require DNEr6r+s  rtestPackageRequireExceptionz#TclTest.testPackageRequireExceptions*k(38,ABBBBBrwin32zRequires Windowsc*tjtj}|ddkrtjddtjdd|dd|d	d}tj|stjd
tj
5}|dtj
|dd
g}dddn#1swxYwY|d|dS)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.testLoadWithUNCsW7??3>22A;##$JKKK%'Z%?%?%?$,QKKK$,QRRLL2w~~h''	B#$@AAA

*
,
,	HIIm$$$,t%EFHHF	H	H	H	H	H	H	H	H	H	H	H	H	H	H	H
	


j&)))))s9-C22C69C6cjddddddfd}tjtjddtjd	t
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,dS)-Nrr;rbc|}|||tdSr )
exprstringr*assertIsInstancestrexprexpectedresultrr,s   rcheckz&TclTest.test_exprstring.<locals>.checksF^^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_exprstring
s6kQQ	/	/	/	/	/	/
	
)S^444)S^UDAAA)S^Z@@@(CNF;;;
b#
i   
j%   
mU###
!3'''
&,,,
i
ne$$$
gs
i   
4f===
j%   
nc"""
-s333
.444
gu
o}---

...
i"""
gs5zz"""""rcdjddddddfd}tjtjddtjd	t
jd
|dd|d
d|dd|dd|dd|dd|dd|dd|dd|dd|dd|dd|d d|d!d"|d#d"t
jd$|d%t
d&dS)'Nrr;rrrc|}|||tdSr )
exprdoubler*rfloatrs   rrz&TclTest.test_exprdouble.<locals>.check0sF^^D))FVX...!!&%00000rrrrrrirgffffff,@rgffffff@rgffffff@rg @rrrg@rr|rg?rrg@rrg@rrrr)r!r<rrrrrrs` @rtest_exprdoublezTclTest.test_exprdouble,skQQ	1	1	1	1	1	1
	
)S^444)S^UDAAA)S^Z@@@(CNF;;;
b#
i
j#
mS!!!
!3'''
&,,,
i
nc"""
gs
i
4d;;;
j#
nc"""
-s333
.444(CNG<<<
guU||$$$$$rctjddddddfd}tjtjddtjd	t
jd
|dd|d
d|dd|dd|dd|dd|dd|dd|dd|dd|dd|dd|dd|dd|ddt
jd t
jd!dS)"Nrr;rrrc|}|||tdSr )exprlongr*rrrrs   rrz$TclTest.test_exprlong.<locals>.checkOsF\\$''FVX...!!&#.....rrrrrrirrrrrrrrrrZrrrrrrrr)r!r<rrrrrs` @r
test_exprlongzTclTest.test_exprlongKs	kQQ	/	/	/	/	/	/
	
)S\222)S\5$???)S\:>>>(CL&999
b!
i
j!
mQ
!1%%%
&***
i
na   
gq
i
4a888
j!
na   
-q111
.222(CL':::(CL':::::rcjddddddfd}tjtjddtjd	t
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|ddt
jd |d!ddS)"Nrr;rrrc|}|||t|t
dSr )exprbooleanr*rrrassertNotIsInstanceboolrs   rrz'TclTest.test_exprboolean.<locals>.checkns\__T**FVX...!!&#...$$VT22222rrrrrriF)r[falsenooffz"%s"z{%s})r(trueyesr{Trrrrrrrrrrrrrrrr)r!r<rrrr)rrvaluer,s`  @rtest_exprbooleanzTclTest.test_exprbooleanjskQQ	3	3	3	3	3	3	
)S_555)S_eTBBB)S_jAAA(COV<<<
b%0	)	)EE%E&5.%(((E&5.%((((/	(	(EE%E&5.$'''E&5.$''''
i
j$
mT"""
!4(((
&...
i
nd###
gt
i
4d;;;
j$
nd###
-t444
.555(COW===
gtrcjfd}|dd|dd|dd|dd|dd|d	d|d
d|dddS)Nc	\d|}r3|||tdS||t
t	|f|tdSNr)r<r#r*rrrr3rrs   rrz$TclTest.test_booleans.<locals>.checksXXfd++F  
3  222%%fc22222

ftSX-?-?&@AAA%%fc22222rrTrr{rFrrz1 < 2z1 > 2)r!rs` @r
test_booleanszTclTest.test_booleanssk	3	3	3	3	3	3	fd
eT
dD
gu
dE
eU
gt
gurcv|j}|D]}|dt|}|jr2|||||t^||t|||tdSr)r!rfr<rr#r*rrr)rr,rurs    rtest_expr_bignumzTclTest.test_expr_bignumsk""$$	3	3AXXfc!ff--F
3  +++%%fc2222  Q000%%fc2222	3	3rc	fd}|djrdnd|djrdnd|dd|dd|dd|d	d	|d
d
|dd|ddtjd
kr>|dd|dd|djrdnd	|djrdnd|djrdndD]7}||jr|nt|8ddddtjjtjjtjjtjjfD]U}jr |||)t|||Vjr|td}
|||tdtd|tdtdnt|tdtdt|tdtd|djrdnd|dd d!ggjrd"nd#dS)$Nc<jdd|S)Nr_)r!r<)rrs r	passValuez.TclTest.test_passing_values.<locals>.passValues;##E366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	7	7	7	7	
4$2B*K$$LLL5))D4D+M55#NNN8,,h777>22NCCC#5668JKKK<00,???#3446FGGG#5668JKKK#9::/	1	1	1<7""YY'=>>'
)
)
)YY'OPP+
-
-
-=11*.*:L	N	N	N#455.2.>T**DT	V	V	V=11*.*:L	N	N	N""$$	N	NAYYq\\0@+L11c!ffMMMMsD#.$cn&8>%%(:':<	9	9A
9  1q1111  yy||!4!4a8888	M	%,,''A1%%%YYuU||44eEllCCCYYe}55e}EEEEU99U5\\#:#:;;U5\\JJJU99eEll]#;#;<<uU||mLLL#344-1-=L))9	N	N	NC#s#455.2.>M**I	O	O	O	O	Orcdfd}jd|jjjdd,jdfd}fd}|dd|dd	|d
|d|d|d
tjdkr|dd|dd|d|dd
|dd|dd|dd|d|d|d|dd|dd|dd D]}||t|d!D]}||t|d"tjjtjj
tjjtjj
fD]}||||td#||td#||d$d|d%d&|d'd(gd)d*gd+ggd&dS)-Nc||Sr r)argrs rtestfuncz+TclTest.test_user_command.<locals>.testfuncs
FJrr )eqc||}djd|}t|||t|||dS)Nr )r!r<rr)rrr!rrrs    rrz(TclTest.test_user_command.<locals>.checks{ F  U33A!!&#...Bvx   !!!S)))Bq(OOOOOrcrt||t|dzdS)Ng|=)delta)assertAlmostEqualrabs)actualrrs  rfloat_eqz+TclTest.test_user_command.<locals>.float_eqsG""5==(),X)>
#
@
@
@
@
@rTr(Fr[rustring½rrrrr	r
r2risstrings	string€ustring€sstringrrrrrrr
sstring€ustrÀ€ing€)rr|rrrr)rZ)r`)rr5 6rz1 2 {3 4} {5 6} {}rZr`rrr*r )r!
createcommandrr"
deletecommandr*rrrfrreprrrrr)rr rr)rurrs`     @rtest_user_commandzTclTest.test_user_commands2						
!!*h7774jAAA		d.>																	@	@	@	@	@	dC
eS
h
l
n
 !!!<7""E(*555E:NKKK
b			
i"""
#%9:::
m\***
c2
l

 !!!
m\***
!1222
+-IJJJ""$$		AE!SVV!		AE!T!WW+S^-?>%%(:':<	"	"AE!!!!!!
eEllx((((
uU||m))))
b"



*,@AAA
q1$Ar*,@AAAAArc|jjj}|jjj}|t
||t
|dd|t
|ddddddd	d
ddd
ddddddddddgdfdddggdddgff|dddd|jrdndfg}|jsd }nd!}||d"d#d$d%d&d|fgz
}d'|jd(td)|j}|D]+\}}|	|||d*|d+|,|t|d,dS)-Nr;rr`)r)r)rir){}ri)z""r1)z
a
 b	
 c
 r;rr)s
a
 b	
 c
 r2)ua €r;€)ua 💻r;u💻)sa €r3)sa 💻r5)sa r5)s	ab cd)r/zcd)rr;zb c)za b\ cr6)r6r6)za 2)r;r)r;r`r7)za 3.4)r;3.4)r;rr9)rrrrlistrZrrr)r(rr8)12r4u€r8)r4€rdictcreater<r4r=zwant objects? z, Tcl version: z, Tcl patchlevel: zarg=z, {)r!r"	splitlistr<rrr#rqinfo_patchlevelr*r)rrAr<	testcasesrdbg_inforress        rtest_splitlistzTclTest.test_splitlistsKN,	{~")Y///)YS999)Y222/0)108@<%%( #$
HC:
sCj 12
T&!S&
)
)$($4"  !
#/
	6	?>HH>H
T&(B/6
J
J

	
		
'''dk6Q6Q6S6S6SU!	=	=HCYYs^^SS-0SS((;
=
=
=
=(Is33333rc
tj}|jj}d}||||ddddd||||ddddd}||||dd	dd
d||||d	dd
d|t||d|t||d|d
dd	dddd}|||||jrd	ndddd|dddd	dddd}|jsdddd}nd	ddd}|||||dS)Nz#-a {1 2 3} -something foo status {}Fz1 2 3foori)-a
-somethingstatus)r;	somethingrK)rIrZr`rrJrHrKr0rMr0z-a b -c )rIrrr:rIrJrKrr>r?)	tkinter
_splitdictr!r"r*rRuntimeErrorr<r#)r	splitdictr,rrs     rtest_splitdictzTclTest.test_splitdictHs&	kn33U33%2>>	@	@	@3,,<<	>	>	>E3U33ETBB	D	D	D3,,%4@@	B	B	B	
,	3
CCC,	38IJJJhhviuhLL3,,#/<))W2
/
/	0	0	0hhvxYeXrKK	J$5BGGHH&UbIIH3,,h77777rcftjjjfdfd}|d|d|d|d|d|d|d	|d
|d|d|d
|d|d|d|d|d|d|d|d|d|d|d|d|ddS)Nc2d|dS)Nlindexr)r<)sr,s runpackz!TclTest.test_join.<locals>.unpackls88Ha+++rc
N|g||dg||gg||dgg||gdg||dgdg|dS)Nr)r*)rjoinrrWs rrz TclTest.test_join.<locals>.checknsGVVDD%MM22E:::VVDD%$4$455u===VVFF44%	??$;$;<<eDDDVVFF44%+=+=$>$>??GGGVVFF44%!+=+=$>$>??GGGVVFF44%Q+@+@$A$ABBEJJJJ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}
)rN_joinr!r")rrrYr,rWs` @@@r	test_joinzTclTest.test_joinis}kn	,	,	,	,	,	K	K	K	K	K	K	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|tjdSr )rcheck_disallow_instantiationrTcl_ObjTkttType	TkappTypers rtest_new_tcl_objzTclTest.test_new_tcl_objsJ,T83CDDD,T83DEEE,T83EFFFFFrN)1rrrr$r-r0r4r7r9r=r@rErIrLrPrRrVrXr^rarcrfrvryrrrrrrr
skipUnlessrrrrrrrrrrr.rFrRr[rcpython_onlyrarrrrr(s888000
>>>KKK555===222
777AAA000
333
...
111
333666888;;;555###222*
7
7
7666 000666<<<":::CCCX02DEE**FE** # # #D%%%>;;;>&&&P&	3	3	3.O.O.O`6B6B6Bp.4.4.4`888B###J
GGGGGrrceZdZdZejejee	kdej
edzdddZejejee	kdej
edzddd	Zejejee	kdej
edzd
ddZ
dS)

BigmemTclTestc,t|_dSr )rr!rs rr$zBigmemTclTest.setUpseerzneeds UINT_MAX < SIZE_MAXrZrF)sizememusedry_runcbd|z}|t|jjdd|ddS)N rindexr)r
OverflowErrorr!r<)rrgrs   rtest_huge_string_callz#BigmemTclTest.test_huge_string_calls7d
-)98WeUVWWWWWrr`c|jj}dd|zz}|t|j||t|j||t|j||t|j||t|j||t|j	||t|j
||t|j|dd|t|jd|d|t|j||t|jd||t|j
||t|j
||t|j||t|j||t|j||t|j|t$|t|j|dS)Nr(rkxr;)r!r"rrmrorxr~r)rrecordadderrorinforHr]rrrrAr+rr,rrgr"rs    rtest_huge_string_builtinsz'BigmemTclTest.test_huge_string_builtinss[^cDj -E:::-u===->>>-%888-e<<<-E:::-%@@@-E3DDD-CDDD-e<<<-c5AAA-%@@@->>>-e<<<-???-u===-)95#FFF-)95AAAAArrc|jj}dd|zz}|t|j||t|j||t|jd|dS)Nr(rkrp)r!r"rrmrr]rss    rtest_huge_string_builtins2z(BigmemTclTest.test_huge_string_builtins2sq
[^cDj -e<<<-e<<<-c5AAAAArN)rrrr$rrcrrbr	r

bigmemtestrnrtrvrrrreresZ
X>13NOOWWq[EBBBXXCBPOX
X>13NOOWWq[EBBBBBCBPOB,
X>13NOOWWq[EBBBBBCBPOBBBrrectjr6t}td|ddddSdS)Nzpatchlevel =info
patchlevelT)flush)rverboserprintr<)r,s rsetUpModuler~sKJee
nchhv|<<DIIIIIIJJr__main__)#rlocalererrrwarningstestrtest.supportrr
import_modulerrNrr	_testcapir	r
ImportErrormaxsizetuplemaprrTCL_VERSIONsplitrqTestCaser
rrer~rmainrrr<module>rs



				



				&&&&&&""""""'=&z22+111111111+++"{*Gnnn+eCCX177<<==>>
A
A
A
A
A(#
A
A
Aj	Gj	Gj	Gj	Gj	Ghj	Gj	Gj	GX.B.B.B.B.BH%.B.B.BbJJJzHMOOOOOsAA*)A*