
    4hh>                         S SK r S SKr " S S5      r " S S5      rS rS rS SKr\" \" \	\R                  R                  S5      5      5      r\" \" \	\R                  R                  S5      5      5      rS	 rSqS
 rSSSSS.rS rS rS rg)    Nc                   @    \ rS rSr\S 5       r\S 5       rS rS rSr	g)AbstractTkTest   c                 |   [         R                  U l        [        5         [         R                  " 5         [         R
                  " 5       U l        U R                  R                  5       U l        U R                  R                  S5         U R                  R                  SS9  g ! [         R                   a     g f = f)NnormalF)zoomed)tkinter_support_default_root_old_support_default_rootdestroy_default_rootNoDefaultRootTkrootwantobjectswm_statewm_attributesTclErrorclss    B/opt/python-3.13.8/usr/lib/python3.13/test/test_tkinter/support.py
setUpClassAbstractTkTest.setUpClass   s    (/(E(E%::<((..0 	(#	HH""%"0 		s   
B$ $B;:B;c                     U R                   R                  5         U R                   R                  5         U ? S [        l        U R
                  [        l        g N)r   update_idletasksdestroyr	   _default_rootr   r
   r   s    r   tearDownClassAbstractTkTest.tearDownClass   s=    !!#H $(+(E(E%    c                 8    U R                   R                  5         g r   )r   	deiconifyselfs    r   setUpAbstractTkTest.setUp   s    		r    c                     U R                   R                  5        H  nUR                  5         M     U R                   R                  5         g r   )r   winfo_childrenr   withdraw)r$   ws     r   tearDownAbstractTkTest.tearDown    s2    ))+AIIK ,		r     N)
__name__
__module____qualname____firstlineno__classmethodr   r   r%   r+   __static_attributes__r-   r    r   r   r      s4      F Fr    r   c                   &    \ rS rSrS rS rS rSrg)AbstractDefaultRootTest&   c                     [         R                  U l        [        5         S[         l        [         R                  U l        g )NT)r	   r
   r   r   r   r#   s    r   r%   AbstractDefaultRootTest.setUp(   s,    )0)F)F&(,%"..r    c                 X    [        5         S [        l        U R                  [        l        g r   )r   r	   r   r   r
   r#   s    r   r+    AbstractDefaultRootTest.tearDown.   s     $(,(F(F%r    c                    U" 5       nU R                  [        R                  5        U R                  UR                  [        R                  5        U R                  UR
                  [        R                  R
                  5        UR                  5         [        5         [        R                  " 5         U R                  [        U5        U R                  [        [        S5      5        g Nr   )assertIsNotNoner	   r   assertIsmastertkr   r   r   assertRaisesRuntimeErrorassertFalsehasattr)r$   constructorxs      r   _test_widget$AbstractDefaultRootTest._test_widget3   s    MW223ahh 5 56addG11445			,4/:;r    )r   r   N)r.   r/   r0   r1   r%   r+   rG   r3   r-   r    r   r5   r5   &   s    /G

<r    r5   c                      [        [        SS 5      (       aH  [        R                  R                  5         [        R                  R	                  5         S [        l        g g r<   )getattrr	   r   r   r   r-   r    r   r   r   @   sB    w....0%%' $ /r    c                     U R                  SSSS9  U R                  SXS9  U R                  SXS9  U R                  SXS9  g )Nz<Enter>r   )rF   yz<Motion>z<ButtonPress-1>z<ButtonRelease-1>)event_generate)widgetrF   rL   s      r   simulate_mouse_clickrO   F   sT     )qA.
*/
+q6
-8r    .c                  L   ^  [        T 5      S::  a  [        T :  a  S $ U 4S jnU$ )N   c                     U $ r   r-   )tests    r   <lambda>requires_tk.<locals>.<lambda>U   s    Dr    c                 J   >^  [         R                  " T 5      U U4S j5       nU$ )Nc           	         > [        U SS 5      n[        U5      T:  a1  U R                  SSR                  [	        [
        T5      5      -   5        T" U 5        g )Nr   zrequires Tk version >= rP   )rJ   get_tk_patchlevelskipTestjoinmapstr)r$   r   rT   versions     r   newtest*requires_tk.<locals>.deco.<locals>.newtestX   sL    4.D &07 #S'): ;< =Jr    )	functoolswraps)rT   r_   r^   s   ` r   decorequires_tk.<locals>.decoW   s%    			 
	 r    )len
tk_version)r^   rc   s   ` r   requires_tkrg   S   s(    
7|qZ72   Kr    c                 z    [         c/  [        R                  " U R                  R	                  S5      5      q [         $ )Ntk_patchLevel)_tk_patchlevelr	   _parse_versionr@   globalgetvar)r   s    r   rY   rY   c   s-     //0D0D_0UVr    gbX<@H   gjZ@   )cimpc                 8    [        U S S 5      [        U SS     -  $ )N)floatunits)values    r   pixels_convrx   p   s#    suU23Z000r    c                 Z   X:X  a  g[        U [        R                  5      (       a#  [        U[        5      (       a  [        U 5      U:H  $ [        U [        5      (       aN  [        U[        5      (       a9  [        U 5      [        U5      :H  =(       a    [        S [        X5       5       5      $ g)NTc              3   <   #    U  H  u  p[        X5      v   M     g 7fr   )
tcl_obj_eq).0actexps      r   	<genexpr>tcl_obj_eq.<locals>.<genexpr>|   s!      ?(=HC #3,,(=s   F)
isinstance_tkinterTcl_Objr]   tuplere   allzipactualexpecteds     r   r{   r{   s   s    &(**++h$$v;(**&%  h&&K3x=0 ? ?(+F(=? ?@ r    c                     X:X  a  g[        U [        [        R                  45      (       a<  [        U[        [        R                  45      (       a  [        U 5      [        U5      :H  $ g)NTF)r   r]   r	   Widgetr   s     r   	widget_eqr      sM    &3/00hgnn 566v;#h-//r    )ra   r	   r   r5   r   rO   r   r   r\   intTCL_VERSIONsplittcl_version
TK_VERSIONrf   rg   rj   rY   rv   rx   r{   r   r-   r    r   <module>r      s      D< <4%9 CX1177<=>3sH//55c:;<
  
			
		1r    