+
    Bi-                     x   ^ RI t ^ RIHt ^ RIt^ RIt^ RIHtHtHtHtH	t	H
t
Ht ^ RIHt ^ RIHtHt  ! R R]4      t ! R R	] P$                  4      t ! R
 R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]] P$                  4      t]R8X  d   ] P6                  ! 4        R# R# )    N)support)Variable	StringVarIntVar	DoubleVar
BooleanVarTclTclError)	ALWAYS_EQ)AbstractDefaultRootTesttcl_versionc                   :   a a ] tR t^t oRtRtV 3R ltRtVtV ;t	# )VardefaultFc                4   < R V n         \        SV `	  V4       R# )TN)side_effectsuperset)selfvalue	__class__s   &&7/usr/lib/python3.14/test/test_tkinter/test_variables.pyr   Var.set   s    E    )r   )
__name__
__module____qualname____firstlineno___defaultr   r   __static_attributes____classdictcell____classcell__)r   __classdict__s   @@r   r   r      s     HK r   r   c                   ,   a  ] tR t^t o R tR tRtV tR# )TestBasec                $    \        4       V n        R # N)r	   rootr   s   &r   setUpTestBase.setUp   s    E	r   c                
    V = R # r'   r(   r)   s   &r   tearDownTestBase.tearDown   s    Ir   r-   N)r   r   r   r   r*   r.   r    r!   r#   s   @r   r%   r%      s      r   r%   c                   b   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tRtV tR# )TestVariablec                r    V P                   P                  V P                   P                  ! R R.VO5!  4      # )infoexists)r(   
getbooleancall)r   argss   &*r   info_existsTestVariable.info_exists!   s+    yy##DIINN68$Kd$KLLr   c                    \        V P                  4      pV P                  R VP                  4       4       V P	                  \        V4      R4       R# ) z^PY_VAR(\d+)$N)r   r(   assertEqualgetassertRegexstrr   vs   & r   test_defaultTestVariable.test_default$   s;    TYYQUUW%Q!12r   c                    \        V P                  R R4      pV P                  R VP                  4       4       V P                  R\	        V4      4       R# )sample stringvarnameN)r   r(   r=   r>   r@   rA   s   & r   test_name_and_value TestVariable.test_name_and_value)   s>    TYY;!%%'2CF+r   c                    V P                  V P                  R 4      4       \        V P                  RR 4      pV P	                  V P                  R 4      4       ?\
        P                  ! 4        V P                  V P                  R 4      4       R# )rG   rF   N)assertFalser9   r   r(   
assertTruer   
gc_collectrA   s   & r   test___del__TestVariable.test___del__.   sl    )))45TYY;((34)))45r   c                z   V P                  V P                  R 4      4       \        V P                  RR7      p\        V P                  RR7      p?\        P
                  ! 4        V P                  V P                  R4      4       ?\        P
                  ! 4        V P                  V P                  R4      4       R# )rG   namerQ   N)rK   r9   r   r(   r   rM   )r   v1v2s   &  r   test_dont_unset_not_existing)TestVariable.test_dont_unset_not_existing6   s    )))45diif-diif-))&12))&12r   c                   \        V P                  R R7      p\        V P                  R R7      pV P                  W4       V P                  W4       \        V P                  RR7      pV P	                  W4       \        V P                  R R7      pV P                  \        V4      \        V4      4       V P	                  W4       \        RR/ 4      pV P	                  W! 4       4       V P	                  V\        4       4       V P                  V\        4       \        P                  ! 4       pV P                  VP                  4       \        VR R7      pV P                  \        V4      \        V4      4       V P	                  W4       R# )abcrR   cbar   N )r   r(   assertIsNotr=   assertNotEqualr   r@   typeobjectr   tkinterTk
addCleanupdestroy)r   rS   rT   v3v4Vroot2v5s   &       r   test_equalityTestVariable.test_equalityB   s!   diie,diie,  diie,B#tyyu-R#b'*B#R$B$B)Y'

&e%(R#b'*B#r   c                    V P                  \        4      ;_uu_ 4        \        V P                  ^{R7       RRR4       R#   + '       g   i     R# ; i){   rR   N)assertRaises	TypeErrorr   r(   r)   s   &r   test_invalid_nameTestVariable.test_invalid_name\   s0    y))TYYS) *)))s   A  A	c                R   V P                  \        4      ;_uu_ 4        \        V P                  R R7       RRR4       V P                  \        4      ;_uu_ 4        V P                  P	                  R R4       RRR4       V P                  \        4      ;_uu_ 4        V P                  P	                  RR4       RRR4       V P                  \        4      ;_uu_ 4        V P                  P                  R R4       RRR4       V P                  \        4      ;_uu_ 4        V P                  P                  RR4       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)zvar namerR   Nr   s   var name)rl   
ValueErrorr   r(   globalsetvarsetvarr)   s   &r   test_null_in_nameTestVariable.test_null_in_name`   s    z**TYY]3 +z**II""=': +z**II"">7; +z**II]G4 +z**II^W5 +* +***********s;   EEE/F!FE	E,	/E?	F	F&	c                    \        V P                  4      pV P                  VP                  4       VP	                  R 4       V P                  VP                  4       R# r   N)r   r(   rK   r   r   rL   rA   s   & r   test_initializeTestVariable.test_initializel   s<    		N'	g&r   c           	     &  a	 \         R8  d   V P                  R4       \        V P                  4      p\	        V4      p. o	V	3R lpV	3R lpV P                  \        4      ;_uu_ 4       pVP                  RV4      pRRR4       V P                  XP                  \        4       V P                  \        4      ;_uu_ 4        VP                  RV4      pRRR4       V P                  \        4      ;_uu_ 4       pV P                  \        VP                  4       4      RX3RX3.4       RRR4       V P                  VP                  \        4       V P                  S	. 4       VP                  R4       V P                  S	RVR	R
3.4       . o	VP                  4        V P                  S	RVR	R3.4       . o	V P                  \        4      ;_uu_ 4        \        VP                  4       4      pRRR4       V P                  \        4      ;_uu_ 4        VP                  R
X4       RRR4       V P                  \        4      ;_uu_ 4        V P                  \        VP                  4       4      X4       RRR4       V P!                  \"        4      ;_uu_ 4        V P                  \        4      ;_uu_ 4        VP                  RR4       RRR4       RRR4       V P                  \        4      ;_uu_ 4        V P                  \        VP                  4       4      X4       RRR4       V P                  \        4      ;_uu_ 4        VP                  RX^+34       RRR4       V P                  \        4      ;_uu_ 4        V P                  \        VP                  4       4      X4       RRR4       VP                  4        V P                  S	RVR	R3.4       . o	V P                  \        4      ;_uu_ 4       pVP                  RX4       RRR4       V P                  VP                  \        4       V P                  \        4      ;_uu_ 4        V P                  VP                  4       RX3.4       RRR4       VP                  4        V P                  S	. 4       . o	?\$        P&                  ! 4        VP                  R4       V P                  S	RVR	R
3.4       . o	?\$        P&                  ! 4        V P                  S	RVR	R3.4       R#   + '       g   i     EL; i  + '       g   i     ELX; i  + '       g   i     EL; i  + '       g   i     ELg; i  + '       g   i     ELC; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELq; i  + '       g   i     EL6; i  + '       g   i     EL; i  + '       g   i     EL; i)	   zrequires Tcl version < 9.0c                  8   < SP                  RV ,           4       R# readNr~   appendr8   traces   *r   read_tracer0TestVariable.test_trace_old.<locals>.read_tracery       LLT)*r   c                  8   < SP                  RV ,           4       R# writeN)r   r   r   s   *r   write_tracer1TestVariable.test_trace_old.<locals>.write_tracer{       LLd*+r   rNwuspamr   r<   wr~   eggsu)r{   r   )r   skipTestr   r(   r@   assertWarnsDeprecationWarningtrace_variabler=   filename__file__sortedtrace_vinfor   r>   trace_vdeleterl   r
   gccollect)
r   rB   vnamer   r   cmcb1cb2r4   r   s
   &        @r   test_trace_oldTestVariable.test_trace_oldr   sR   & MM67TYYA	+	,011R""34C 2h/011""46C 2011RVAMMO4SzD#;6OP 2h/#	f'5"c!: ;<	&%S!9 :;011!--/*D 2011OOC% 2011VAMMO4d; 2x((!!"455V, 6 ) 011VAMMO4d; 2011OOC#r+ 2011VAMMO4d; 2	&%S!9 :;011ROOC% 2h/011Q]]_c{m< 2	#


	f'5"c!: ;<


'5"c!: ;<m 211 211111 211111111 655 )(( 211111111 211 211s   )TT#90T7UU
*U3V7V	
V7*V/W *W8W+$W?T 	#T4	7U	U	U0	3V	V	VV,	/W 	W	W(	+W<	?X	c                H  a \        V P                  4      p\        V4      p. oV3R  lpV3R lpVP                  RV4      pVP                  RR.V4      pV P	                  \        VP                  4       4      R	V3R
V3.4       V P	                  S. 4       VP                  R4       V P	                  SRVRR3.4       . oVP                  4        V P	                  SRVRR3.4       . o\        VP                  4       4      pVP                  RV4       V P	                  \        VP                  4       4      V4       V P                  \        4      ;_uu_ 4        VP                  RR4       RRR4       V P	                  \        VP                  4       4      V4       VP                  4        V P	                  SRVRR3.4       . oVP                  RV4       V P	                  VP                  4       R
V3.4       VP                  4        V P	                  S. 4       . o?\        P                  ! 4        VP                  R4       V P	                  SRVRR3.4       . o?\        P                  ! 4        V P	                  SRVRR3.4       R#   + '       g   i     EL+; i)c                  8   < SP                  RV ,           4       R# r}   r   r   s   *r   r   ,TestVariable.test_trace.<locals>.read_tracer   r   r   c                  8   < SP                  RV ,           4       R# r   r   r   s   *r   r   -TestVariable.test_trace.<locals>.write_tracer   r   r   r~   r   unsetr   r<   Nr   r   )r   r   )r   r(   r@   	trace_addr=   r   
trace_infor   r>   trace_removerl   r
   r   r   )	r   rB   r   r   r   tr1tr2r4   r   s	   &       @r   
test_traceTestVariable.test_trace   s?   TYYA	+	,kk&+.kk7G,l;/#S),c224 	5 	#	f'5"g!> ?@	&%V!< =>alln%	w$/6x((NN66* )/6	&%V!< =>	vs#+=s*C)DE	#


	f'5"g!> ?@


'5"g!> ?@+ )((s   JJ!	rZ   N)r   r   r   r   r9   rC   rH   rN   rU   rh   rn   rt   rx   r   r   r    r!   r0   s   @r   r2   r2      sF     M3
,
6
3$4*
6'A=F/A /Ar   r2   c                   2   a  ] tR t^t o R tR tR tRtV tR# )TestStringVarc                p    \        V P                  4      pV P                  R VP                  4       4       R# )r<   N)r   r(   r=   r>   rA   s   & r   rC   TestStringVar.test_default   s&    dii QUUW%r   c                    \        V P                  R R4      pV P                  R VP                  4       4       V P                  P	                  RR4       V P                  RVP                  4       4       R# )rX   rQ   r   Nr   r(   r=   r>   rr   rA   s   & r   test_getTestStringVar.test_get   sT    dii/(		vw/!%%'*r   c                    \        V P                  R R4      pV P                  R VP                  4       4       V P                  P	                  RR4       V P                  RVP                  4       4       R# )zabc defrQ   zval ueNr   rA   s   & r   test_get_nullTestStringVar.test_get_null   sT    diiv6quuw/		v{3aeeg.r   rZ   N)	r   r   r   r   rC   r   r   r    r!   r0   s   @r   r   r      s     &+/ /r   r   c                   2   a  ] tR t^t o R tR tR tRtV tR# )
TestIntVarc                p    \        V P                  4      pV P                  ^ VP                  4       4       R# )r   N)r   r(   r=   r>   rA   s   & r   rC   TestIntVar.test_default   s&    499AEEG$r   c                d   \        V P                  ^{R4      pV P                  ^{VP                  4       4       V P                  P	                  RR4       V P                  RVP                  4       4       V P                  P	                  RR4       V P                  RVP                  4       4       R# )rk   rQ   345Y  z876.5il  N)r   r(   r=   r>   rr   rA   s   & r   r   TestIntVar.test_get   s~    499c6*aeeg&		vu-aeeg&		vw/aeeg&r   c                   \        V P                  R R7      pV P                  P                  R R4       V P                  \        \
        34      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     R# ; irQ   rR   r   N)r   r(   rr   rl   rq   r
   r>   rA   s   & r   test_invalid_valueTestIntVar.test_invalid_value  sT    4996*		vw/
H566EEG 7666   A22B	rZ   N)	r   r   r   r   rC   r   r   r    r!   r0   s   @r   r   r      s     %' r   r   c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestDoubleVari  c                p    \        V P                  4      pV P                  R VP                  4       4       R# )g        N)r   r(   r=   r>   rA   s   & r   rC   TestDoubleVar.test_default  s&    dii aeeg&r   c                    \        V P                  R R4      pV P                  R VP                  4       4       V P                  P	                  RR4       V P                  RVP                  4       4       R# )Gz?rQ   3.45皙@Nr   r(   assertAlmostEqualr>   rr   rA   s   & r   r   TestDoubleVar.test_get  sT    diiv.tQUUW-		vv.tQUUW-r   c                d   \        V P                  R R4      pV P                  R VP                  4       4       V P                  P	                  RR4       V P                  RVP                  4       4       V P                  P	                  RR4       V P                  RVP                  4       4       R# )r   rQ   r   r   456i  Nr   rA   s   & r   test_get_from_intTestDoubleVar.test_get_from_int  s~    diiv.tQUUW-		vv.tQUUW-		vu-sAEEG,r   c                   \        V P                  R R7      pV P                  P                  R R4       V P                  \        \
        34      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     R# ; ir   )r   r(   rr   rl   rq   r
   r>   rA   s   & r   r    TestDoubleVar.test_invalid_value#  sT    diif-		vw/
H566EEG 7666r   rZ   N)
r   r   r   r   rC   r   r   r   r    r!   r0   s   @r   r   r     s     '.- r   r   c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestBooleanVari*  c                p    \        V P                  4      pV P                  VP                  4       R 4       R# )FN)r   r(   assertIsr>   rA   s   & r   rC   TestBooleanVar.test_default,  s$    tyy!aeegu%r   c                   \        V P                  R R4      pV P                  VP                  4       R 4       V P                  P	                  RR4       V P                  VP                  4       R4       V P                  P	                  RV P                  P                  4       '       d   ^*M^4       V P                  VP                  4       R 4       V P                  P	                  R^ 4       V P                  VP                  4       R4       V P                  P	                  RR4       V P                  VP                  4       R 4       R# )TrQ   0FonN)r   r(   r   r>   rr   wantobjectsrA   s   & r   r   TestBooleanVar.test_get0  s    tyy$/aeegt$		vs+aeegu%		vTYY-B-B-D-Dr!Laeegt$		vq)aeegu%		vt,aeegt$r   c                   V P                   P                  4       '       d   ^MRpV P                   P                  4       '       d   ^ MRp\        V P                   RR7      pVP                  R4       V P	                  V P                   P                  R4      V4       VP                  R4       V P	                  V P                   P                  R4      V4       VP                  ^*4       V P	                  V P                   P                  R4      V4       VP                  ^ 4       V P	                  V P                   P                  R4      V4       VP                  R4       V P	                  V P                   P                  R4      V4       R# )   1r   rQ   rR   Tr   N)r(   r   r   r   r=   globalgetvar)r   truefalserB   s   &   r   test_setTestBooleanVar.test_set<  s   II))++qYY**,,#tyyv.	d//7>	c
//7?	b	//7>	a//7?	d//7>r   c                   V P                   P                  4       '       d   ^ MRp\        V P                   RR7      pV P                  \        4      ;_uu_ 4        VP                  R4       RRR4       V P                  V P                   P                  R4      V4       V P                   P                  RR4       V P                  \        4      ;_uu_ 4        VP                  4        RRR4       V P                   P                  RR4       V P                  \        4      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     L; i  + '       g   i     Lw; i  + '       g   i     R# ; i)r   r   rQ   rR   r   Nz1.0)r(   r   r   rl   r
   r   r=   r   rr   rq   r>   )r   r   rB   s   &  r   test_invalid_value_domain(TestBooleanVar.test_invalid_value_domainK  s    YY**,,#tyyv.x((EE'N )//7?		vw/z**EEG +		vu-z**EEG +* )( +* +**s$   EE)E*E	E'	*E;	rZ   N)
r   r   r   r   rC   r   r   r   r    r!   r0   s   @r   r   r   *  s     &
%? r   r   c                   &   a  ] tR tRt o R tRtV tR# )DefaultRootTestr   c                X   V P                  \        \        4       \        P                  ! 4       p\        4       pVP                  R 4       V P                  VP                  4       R 4       VP                  4        \        P                  ! 4        V P                  \        \        4       R# rw   )
rl   RuntimeErrorr   r_   r`   r   r=   r>   rb   NoDefaultRoot)r   r(   rB   s   &  r   test_variableDefaultRootTest.test_variable[  sj    ,1zz|J	g'*,1r   rZ   N)r   r   r   r   r   r    r!   r0   s   @r   r   r   Y  s     2 2r   r   __main__)unittesttestr   r   r_   r   r   r   r   r   r	   r
   test.supportr   test.test_tkinter.supportr   r   r   TestCaser%   r2   r   r   r   r   r   r   mainrZ   r   r   <module>r      s      	    " J( x   EA8 EAP/H /& *H 6,X ,^
2-x/@/@ 
2 zMMO r   