
    4hh                        S SK r S SKrS SKrS SKJr  S SKrS SKJr  S SKJrJ	r	J
r
Jr  \R                  " S5         " S S\\R                  5      r " S S	\\R                  5      r " S
 S\\R                  5      r " S S\\R                  5      r " S S\	\R                  5      rSS jr\S:X  a  \R*                  " 5         gg)    N)TclError)support)AbstractTkTestAbstractDefaultRootTestrequires_tkget_tk_patchlevelguic                       \ rS rSrS rS rS r\" SSS5      S 5       r\" SSS5      S 5       r	S	 r
S
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rSrg)MiscTest   c                    U R                  S[        R                  5        U R                  S[        R                  5        U R                  [        R                  5        U R                  S[        R                  5        U R                  S[        R                  5        U R                  S[        R                  5        U R                  S[        R                  5        U R                  S[        R                  5        g )NWidgetCASCADEresys	constants_tkerrorwantobjects)assertIntkinter__all__assertIsNotNoner   assertNotIn)selfs    D/opt/python-3.13.8/usr/lib/python3.13/test/test_tkinter/test_misc.pytest_allMiscTest.test_all   s    h0i1W__-w/0goo6W__58    c                     [         R                  " U R                  SS9n[         R                  " USS9nU R	                  [        U5      S5        g )Ntopnamechildz!<tkinter.Frame object .top.child>)r   ToplevelrootFrameassertEqualrepr)r   tfs      r   	test_reprMiscTest.test_repr   s=    TYYU3MM!'*a"EFr   c           
          " S S[         R                  5      n[         R                  " U R                  5      n[         R                  " U5      n[         R                  " U5      nU R                  [        U5      [        U5      5        [         R                  " U5      nU" U5      n[        U5      R                  S5      [        U5      R                  S5      -    H*  nU R                  UR                  5       [        U5      S9  M,     [         R                  " U5      nU" U5      n	U R                  [        [        U5      [        U5      [        U5      [        U	5      15      S5        g )Nc                       \ rS rSrSrg).MiscTest.test_generated_names.<locals>.Button2"    N)__name__
__module____qualname____firstlineno____static_attributes__r1   r   r   Button2r/   "   s    r   r7   .)msg   )r   Buttonr$   r%   r&   assertNotEqualstrsplitassertFalseisidentifierr(   r'   len)
r   r7   r)   r*   f2bb2r"   b3b4s
             r   test_generated_namesMiscTest.test_generated_names!   s   	gnn 	 TYY'MM!]]1CFCG,NN2R[FLL%Bc(::DT..0d4jA ;^^BR[c!fc"gs2wB@A1Er         c                 @   U R                   n[        R                  " USS9n[        R                  " U5      nUR                  5         UR                  5         [        R                  " U5      nUR                  5         UR                  5         U R                  [        S5         UR                  SS9  S S S 5        U R                  [        S5         UR                  S5        S S S 5        U R                  [        S5         UR                  S5        S S S 5        U R                  UR                  5       [        5        U R                  UR                  5       5        U R                  UR                  5       5        U R                  UR                  5       5        U R                  UR                  5       5        U R                  X"R!                  5       5        U R                  X"R!                  S5      5        U R#                  X"R!                  S5      5        UR%                  5         U R                  UR                  5       5        U R                  UR!                  5       5        U R                  [        S	5         UR                  5         S S S 5        U R                  [        S	5         UR%                  5         S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       Nt= f! , (       d  f       g = f)
Nmyframer!   zunknown option "-spam"eggsspamrO   z*.m?f*mez*spamcan't find busy window)r%   r   r&   packr;   tk_busy_holdassertRaisesRegexr   tk_busy_configuretk_busy_cgetassertIsInstancedict
assertTruetk_busy_statusr?   r   tk_busy_currentr   tk_busy_forget)r   r%   r*   rB   rC   s        r   test_tk_busyMiscTest.test_tk_busy1   s0   yyMM$Y/]]4 	
	NN1		##H.FGV, H##H.FGNN6" H##H.FG' Ha113T:((*+,,./**,-))+,a**,-a**:67--g67	))+,**,-##H.FG! H##H.FG HG+ HGGGGG HGGGs<   $KKK,?K>.L
K
K),
K;>
L
Lc                    U R                   nUR                  S:X  a  U R                  S5        [        R                  " USS9nUR                  5         UR                  SS9  U R                  UR                  S5      S5        UR                  SS9  U R                  UR                  S5      S5        U R                  UR                  5       S   S	   S5        U R                  UR                  S5      S	   S5        UR                  5         U R                  [        S
5         UR                  S5        S S S 5        g ! , (       d  f       g = f)Naquaz.the cursor option is not supported on OSX/AquarL   r!   gumby)cursorra   heartr:   rP   )r%   _windowingsystemskipTestr   r&   rQ   rR   r'   rU   rT   r[   rS   r   )r   r%   r*   s      r   test_tk_busy_with_cursor!MiscTest.test_tk_busy_with_cursorS   s	   yy  F*MMJKMM$Y/		g&17;	7+17;,,.x8;WE,,X6q97C	##H.FGNN8$ HGGs   #D>>
Ec                 8   U R                   nUR                  S5        U R                  US   S5        UR                  S5        U R                  US   S5        U R                  [        R
                  SUR                  S5        UR                  SS9  U R                  US   S5        UR                  SSS	9  U R                  US   S5        U R                  US
   S5        UR                  SSS	9  U R                  US   S5        U R                  US
   S5        U R                  [        R
                  SUR                  SS9  U R                  [        R
                  SUR                  SS9  U R                  [        R
                  SUR                  SS9  g )Nblack
backgroundwhitez^unknown color name "spam"$rO   )ri   blueyellow)ri   highlightColorhighlightcolorz!^must specify a background color$rN   )rm   )r%   tk_setPaletter'   rS   r   r   r   r%   s     r   test_tk_setPaletteMiscTest.test_tk_setPalettef   s   yy7#l+W57#l+W5w//-""F	, 	g.l+W5fXFl+V4./:hvFl+X6./8w//-""v 	 	7 	w//3"" 	 	2 	w//3""6 	 	;r   c                 *  ^ U R                   nS
U4S jjnU R                  UR                  S5      5        SmUR                  SU5      nU R                  X1R                  R                  SS5      5        UR                  R                  UR                  R                  SSU5      5      u  pEUR                  5         U R                  TS5        U R                  [        R                  5         UR                  R                  U5        S S S 5        SmUR                  SUSS5      nUR                  5         U R                  TS5        UR                  S	U5      nU R                  X1R                  R                  SS5      5        UR                  R                  UR                  R                  SSU5      5      u  pEUR                  U5        U R                  TS5        U R                  [        R                  5         UR                  R                  U5        S S S 5        SmUR                  S[        R                  " USS5      5      nUR                  5         U R                  TS5        g ! , (       d  f       GNo= f! , (       d  f       Nm= f)Nr      c                    > X-   mg Nr1   startstepcounts     r   callback%MiscTest.test_after.<locals>.callback   
    LEr   afterinfo*      5   i  r   rt   )r%   assertIsNoner~   r   tkcall	splitlistupdater'   assertRaisesr   r   after_cancel	functoolspartial)r   r%   r{   timer1script_rz   s         @r   
test_afterMiscTest.test_after   s   yy	!
 	$**Q-( Ax(fggll7F;<gg''Wff(MN"w//0GGLL  1 AxR0# D(+fggll7F;<gg''Wff(MN&!#w//0GGLL  1 Ay002rBC#- 10 10s   .I2J2
J
Jc                 L  ^ U R                   nS	U4S jjnSmUR                  U5      nU R                  X1R                  R	                  SS5      5        UR                  R                  UR                  R	                  SSU5      5      u  pEUR                  5         U R                  TS5        U R                  [        R                  5         UR                  R	                  U5        S S S 5        SmUR                  USS5      nUR                  5         U R                  TS5        UR                  U5      nU R                  X1R                  R	                  SS5      5        UR                  R                  UR                  R	                  SSU5      5      u  pEUR                  U5        U R                  TS5        U R                  [        R                  5         UR                  R	                  U5        S S S 5        g ! , (       d  f       GN!= f! , (       d  f       g = f)
Nr   rt   c                    > X-   mg rv   r1   rw   s     r   r{   *MiscTest.test_after_idle.<locals>.callback   r}   r   r~   r   r   r   r   r   )r%   
after_idler   r   r   r   update_idletasksr'   r   r   r   r   )r   r%   r{   idle1r   r   rz   s         @r   test_after_idleMiscTest.test_after_idle   s   yy	!
 )eWW\\'6:;gg''Wfe(LM"w//0GGLL  1 "b1# )eWW\\'6:;gg''Wfe(LM% #w//0GGLL  10 10 10s   HH
H
H#c                   ^ U R                   nU4S jnUR                  SU5      nUR                  U5      nU R                  [        5         UR                  S 5        S S S 5        SmUR                  R                  UR                  R                  SSU5      5      u  pVUR                  R                  U5        U R                  TS5        UR                  U5        U R                  [        R                  5         UR                  R                  U5        S S S 5        U R                  TS5        U R                  [        R                  5         UR                  R                  SSU5        S S S 5        UR                  U5        SmUR                  R                  UR                  R                  SSU5      5      u  pVUR                  R                  U5        U R                  TS5        UR                  U5        U R                  [        R                  5         UR                  R                  U5        S S S 5        U R                  TS5        U R                  [        R                  5         UR                  R                  SSU5        S S S 5        g ! , (       d  f       GNE= f! , (       d  f       GN= f! , (       d  f       GNW= f! , (       d  f       N= f! , (       d  f       g = f)Nc                     > T S-  m g )Nrt   r1   )rz   s   r   r{   ,MiscTest.test_after_cancel.<locals>.callback   s    QJEr     r   r~   r   rt   )r%   r~   r   r   
ValueErrorr   r   r   r   r'   r   r   )r   r%   r{   r   r   r   r   rz   s          @r   test_after_cancelMiscTest.test_after_cancel   s   yy	 D(+) z*d# + gg''Wff(MNV"&!w//0GGLL  1"w//0GGLL&&1 1 	&! gg''Wfe(LMV"% w//0GGLL  1"w//0GGLL&%0 107 +* 10 10 10 10s<   J=J.K  K5K#
J+.
J= 
K
K #
K1c                     U R                   nU R                  UR                  5       S5        UR                  SS 5      nU R                  UR                  5       U45        UR	                  U5        UR                  SS 5      nUR                  SS 5      nUR                  S 5      nU R                  UR                  5       XTU45        UR                  U5      nU R                  [        U5      S5        U R                  US   S	5        UR                  U5      nU R                  [        U5      S5        U R                  US   S
5        UR	                  U5        U R                  [        R                  5         UR                  U5        S S S 5        UR	                  U5        U R                  [        R                  5         UR                  U5        S S S 5        UR	                  U5        U R                  [        R                  5         UR                  U5        S S S 5        U R                  UR                  5       S5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NQ= f)Nr1   rt   c                      gNbreakr1   r1   r   r   <lambda>*MiscTest.test_after_info.<locals>.<lambda>   s    gr   r   c                      gr   r1   r1   r   r   r   r         'r   c                      gr   r1   r1   r   r   r   r     r   r   c                      gr   r1   r1   r   r   r   r     s    r      timeridle)
r%   r'   
after_infor~   r   r   rA   r   r   r   )r   r%   r   r   timer2r   timer1_info
idle1_infos           r   test_after_infoMiscTest.test_after_info   s   yy 	*B/ 

1o. 	*UI6% D/2D/20*UF,CD oof-[)1-Q1__U+
Z!,A/&!w//0OOF# 1&!w//0OOF# 1% w//0OOE" 1 	*B/ 10 10 10s$   >III/
I
I,/
I=c                    U R                   nUR                  5         UR                  S5        U R                  UR	                  5       S5        UR                  S5        U R                  UR	                  5       S5        UR                  5         U R                  [        R                  5         UR	                  5         S S S 5        g ! , (       d  f       g = f)Nu   Ùñîu   çōđěu   Ùñîçōđěr%   clipboard_clearclipboard_appendr'   clipboard_getr   r   r   rp   s     r   test_clipboardMiscTest.test_clipboard  s    yyh'++-x8j)++-/?@w//0  100   .C
Cc                    U R                   nUR                  5         UR                  S5        U R                  UR	                  5       S5        UR                  S5        U R                  UR	                  5       S5        UR                  5         U R                  [        R                  5         UR	                  5         S S S 5        g ! , (       d  f       g = f)Nu   𝔘𝔫𝔦u   𝔠𝔬𝔡𝔢u   𝔘𝔫𝔦𝔠𝔬𝔡𝔢r   rp   s     r   test_clipboard_astralMiscTest.test_clipboard_astral'  s    yyn-++-~>01++-/MNw//0  100r   c                   ^  U 4S jnT R                   nUR                  nT R                  U" S5      S5        T R                  U" S5      S5        T R                  U" S5      S5        U" U" S5      S	5        U" U" S
5      S5        T R                  [        R
                  5         U" S5        S S S 5        T R                  [        R
                  5         U" S5        S S S 5        g ! , (       d  f       N?= f! , (       d  f       g = f)Nc                 N   > [        X5       H  u  p#TR                  X#SS9  M     g )N!   )delta)zipassertAlmostEqual)col1col2col1_channelcol2_channelr   s       r   assertApprox-MiscTest.test_winfo_rgb.<locals>.assertApprox4  s)     /2$o*&&|&L />r   red)  r   r   zdark slate blue)iHH  i==  i  z#F0F)r   r   r   z#4a3c8c)iJJ  i<<  i  z#dede14143939)i  i  i99  z#123456789a)o   N   7   )r%   	winfo_rgbr'   r   r   r   )r   r   r%   rgbs   `   r   test_winfo_rgbMiscTest.test_winfo_rgb2  s    	M yynn 	U]3./1FGV&>?S^%=>S)+CDw//0 1 w//0 10 10 10s   %	C'	C8'
C58
Dc                 X   [         R                  " U R                  5      n[         R                  " U5      nUR	                  5       nU R                  U[        5        U R                  U R                  R                  [        U5      5      [        U5      5        U R                  U R                  R                  [        U5      S S9[        U5      5        U R                  U R                  R                  [        U5      US9[        U5      5        U R                  U R                  R                  U5      [        U5      5        U R                  U R                  R                  US S9[        U5      5        U R                  U R                  R                  X1S9[        U5      5        g )N)	displayof)r   r$   r%   r;   winfo_idrV   intr'   winfo_pathnamehexr=   )r   r)   wwids       r   test_winfo_pathnameMiscTest.test_winfo_pathnameM  s0   TYY'NN1jjlc3'11#c(;SVD11#c(d1KSQRVT11#c(a1H#a&Q11#6A?11#1FAO11#1CSVLr   c                 R   [         R                  " 5       nSUl        SUl        SUl        SUl        SUl        SUl        SUl        SUl	        SUl
        SUl        SUl        SUl        SUl        SUl        SUl        SUl        SUl        U R'                  [)        U5      S5        g )N90  ??r   [ 100z<100 event>)r   Eventserialnumheightkeycodestatetimewidthxycharkeysym
keysym_numtypewidgetx_rooty_rootr   r'   r(   r   es     r   test_event_repr_defaults!MiscTest.test_event_repr_defaultsY  s    MMO	a-0r   c                    [         R                  " 5       nSUl        SUl        SUl        SUl        SUl        SUl        SUl        SUl	        S	Ul
        S
Ul        SUl        SUl        SUl        [        S5      Ul        [         R"                  R$                  Ul        SUl        SUl        SUl        SUl        U R1                  [3        U5      S5        g )Nr      T   A   i r   i,  
      AzKey-Az.texti  i  z<Configure event send_event=True state=Shift|Control|Button3|0x30000 keysym=Key-A keycode=65 char='A' num=3 delta=-1 focus=True x=10 y=20 width=300 height=200>)r   r   r   r   focusr   r   r   r   r   r   r   r   
send_eventr   ordr   	EventType	Configurer   r   r   r   r   r'   r(   r   s     r   test_event_reprMiscTest.test_event_reprn  s    MMO	3x"",,a<	=r   c                      " S S[         R                  5      n[         R                  " U[        R                  5        g )Nc                       \ rS rSrSr\rSrSr\rSr	Sr
SrSrS	rS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!Sr"Sr#S r$S!r%S"r&S#r'S$r(S%r)S&r*S'r+g())6MiscTest.test_eventtype_enum.<locals>.CheckedEventTypei  234567891011121314151617181920212223242526272829303132333435363738r1   N),r2   r3   r4   r5   KeyPressKey
KeyReleaseButtonPressr;   ButtonReleaseMotionEnterLeaveFocusInFocusOutKeymapExposeGraphicsExposeNoExpose
VisibilityCreateDestroyUnmapMap
MapRequestReparentr  ConfigureRequestGravityResizeRequest	CirculateCirculateRequestPropertySelectionClearSelectionRequest	SelectionColormapClientMessageMappingVirtualEventActivate
Deactivate
MouseWheelr6   r1   r   r   CheckedEventTyper
    s    HCJK FMFEEGHFF!NHJFGECJHI#G MI#H!N#IH MGLHJJr   rU  )enumStrEnum_test_simple_enumr   r  )r   rU  s     r   test_eventtype_enumMiscTest.test_eventtype_enum  s,    '	t|| '	P 	/1B1BCr   c                 ,   S H.  nU R                  U R                  R                  U5      S5        M0     S H.  nU R                  U R                  R                  U5      S5        M0     U R                  [        U R                  R                  S5        U R                  [        U R                  R                  S5        U R                  [
        U R                  R                  S 5        U R                  [
        U R                  R                  S5        g )N)trueyeson1r)   r   rt   TT)falsenooff0r*   nr   FFyear   r1   )assertIsr%   
getbooleanr   r   	TypeError)r   vs     r   test_getbooleanMiscTest.test_getboolean  s    <AMM$))..q148 =>AMM$))..q159 ?*dii&:&:EB*dii&:&:B?)TYY%9%94@)TYY%9%92>r   c                 Z  ^ ^ / mUU 4S jnT R                   R                  SU5        T R                   R                  S5        T R                  T/ 5        T R                   R                  S5        T R                  TS/5        T R	                  T R                   R                  5       5        g )Nc                     > T R                  S5        TR                  R                  STR                  R                  5        g )Nrt   d   )appendr%   r~   quit)logr   s   r   r{   (MiscTest.test_mainloop.<locals>.callback  s(    JJqMIIOOC0r   rn  rt   r   )r%   r~   mainloopr'   rX   winfo_exists)r   r{   rq  s   ` @r   test_mainloopMiscTest.test_mainloop  s    	1 			X&		1b!		1qc"		..01r   c                    U R                   R                  5       n[        R                  " U R                   5      nU R	                  UR                  5       U5        U R                  US S  [        5        U R	                  [        U5      S5        U R                  US   [        5        U R                  US   [        5        U R                  US   [        5        U R                  US   S5        U R                  US   [        5        U R                  UR                  [        5        U R                  UR                  [        5        U R                  UR                  [        5        U R                  UR                  S5        U R                  UR                  [        5        U R	                  US   UR                  5        U R	                  US   UR                  5        U R	                  US   UR                  5        U R	                  US   UR                  5        U R	                  US   UR                  5        U R                  US	:  5        UR                  S
:X  a  U R	                  UR                  S5        OU R	                  UR                  S5        U R                  [!        U5      R#                  UR                   SUR                   35      5        g )N   r   rt   r   r   )alphabeta	candidatefinalr:   )ry  rz  r|  )rt   r   r   r|  r8   )r%   info_patchlevelr   r&   r'   rV   tuplerA   r   r   majorminormicroreleaselevelr   rX   r=   
startswith)r   vir*   s      r   test_info_patchlevelMiscTest.test_info_patchlevel  s   YY&&(MM$))$**,b1beU+R!$beS)beS)beS)beDEbeS)bhh,bhh,bhh,boo'ABbii-A)A)A)A0A		*W%??g%RYY*RXXq)B**bhhZq
+CDEr   c                 T   [         R                  " U R                  5      nUR                  SS5        UR	                  SS5        U R                  UR                  5       S5        UR                  SS5        UR	                  SS5        U R                  UR                  5       S5        g )Nr   zabc defendu   € u   € abc def)r   Entryr%   insertselection_ranger'   selection_get)r   r   s     r   test_embedded_nullMiscTest.test_embedded_null  s    tyy)a$q%(--/>a$q%(--/1EFr   r1   N)r2   r3   r4   r5   r   r+   rG   r   r\   re   rq   r   r   r   r   r   r   r   r   r   r  rY  rj  ru  r  r  r6   r1   r   r   r   r      s    9G
F  Aq B Aq% %$;8'$R!@'1R&0P	!	!6
M1*=8)DV?
2F:Gr   r   c                        \ rS rSrS rS rSrg)WmTesti  c                    U R                   nUR                  SS9nU R                  U[        5        UR                  5       nU R                  U[        5        U R                  US S S2   [	        S U 5       5      5        U R                  USS S2   [	        UR                  5       5      5        UR                  S 5      nU R                  (       a  U R                  XC5        OU R                  U[        5        U H&  nU R                  UR                  U5      X%   5        M(     U H)  nU R                  UR                  SU-   5      X%   5        M+     U R                  SU5        U R                  SU5        U R                  S	U5        UR                  S
:X  a6  U R                  SU5        U R                  SU5        U R                  SU5        UR                  S:X  aH  U R                  SU5        U R                  SU5        U R                  SU5        U R                  SU5        UR                  S:X  a$  U R                  SU5        U R                  SU5        UR                  SS9  U R                  UR                  S5      U R                  (       a  SOS5        UR                  SS9  U R                  UR                  S5      U R                  (       a  SOS5        UR                  SS5        U R                  UR                  S5      U R                  (       a  SOS5        UR                  SS9  U R                  UR                  S5      U R                  (       a  S5        g S5        g )NT)return_python_dictr   c              3   ,   #    U  H
  nS U-   v   M     g7f)-Nr1   ).0ks     r   	<genexpr>+WmTest.test_wm_attribute.<locals>.<genexpr>  s     ;
1sQw
s   rt   r  ry  
fullscreentopmostwin32disabled
toolwindowtransparentcolorr_   modifiednotify	titlepathtransparentx11r   zoomedg      ?)ry  z0.5g      ?z1.0z-alpha)r%   wm_attributesrV   rW   r~  r'   valuesr   r=   r   rc   )r   r   
attributesattributes2attributes3r"   s         r   test_wm_attributeWmTest.test_wm_attribute  s   II___=
j$/oo'k51SqS);
;;	=QTT*E*2C2C2E,FGood+[6!!+s3DQ__T2J4DE  DQ__S4Z8*:JK  	gz*lJ/i,(MM*j1MM,
3MM,j9'MM*j1MM(J/MM+z2MM-4&MM&*-MM(J/	c"1 $ 0 0e	=	c"1 $ 0 0e	= 	
#&1 $ 0 0e	=	c"1 $ 0 0	=6;	=r   c                 d   [         R                  " U R                  5      nU R                  UR	                  5       S5        UR	                  S5        SnUR
                  S:X  a#  [        U5      nUS:  d  SUs=::  a  S:  a  O  OSnU(       d   U R                  UR	                  5       S5        U R                  U R                  R	                  5       S5        UR	                  S5        U R                  UR	                  5       S5        UR
                  S	:X  a  UR	                  SS
9  U R                  UR	                  5       S5        U R                  U R                  R	                  5       S5        UR	                  SS
9  U R                  UR	                  5       S5        UR                  5         g )Nr   	hourglassFr_   )rI   rJ      )	   r   )r  r   r   Tr  )default)r   r$   r%   r'   wm_iconbitmaprc   r   destroy)r   r)   bug
patchlevels       r   test_wm_iconbitmapWmTest.test_wm_iconbitmap(  sG   TYY'*B/	$'*1-JJ&&J*J*JQ__.<002B7	*B/(OOKO0Q__.<TYY446;OOBO'Q__.3			r   r1   N)r2   r3   r4   r5   r  r  r6   r1   r   r   r  r    s    2=hr   r  c                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)	EventTestiB  c                 2   [         R                  " U R                  SSS9nUR                  5         U R                  R	                  5         U R                  R                  5         / nUR                  SUR                  5        UR                  5         U R                  R                  5         U R                  [        U5      SU5        US   nU R                  UR                  [         R                  R                  5        U R                  UR                   U5        U R#                  UR$                  [&        5        U R                  UR(                  S5        U R                  UR*                  S5        U R-                  [/        US	5      5        U R                  UR0                  S5        U R                  UR2                  S5        U R                  UR4                  S5        U R                  UR6                  S5        U R                  UR8                  S5        U R                  UR:                  S5        U R                  UR<                  S5        U R                  UR>                  S5        U R                  UR@                  S5        U R                  URB                  S5        U R                  URD                  S5        U R                  URF                  S5        U R                  URH                  S5        U R                  [K        U5      S
5        g )N   rn  r   r   z	<FocusIn>rt   r   r   Fr  z<FocusIn event>)&r   r&   r%   rQ   wait_visibilityr   bindro  focus_forcer   r'   rA   rf  r   r  r8  r   rV   r   r   r   r  r?   hasattrr   r   r   r   r   r   r   r   r   r   r   r   r   r(   r   r*   eventsr   s       r   
test_focusEventTest.test_focusD  s(   MM$))3s;			!!#		""$	{FMM*			Va01Iaffg//778ahh"ahh,&allE*G,-%$'&D)4(t,$'4(d#d#4(4(!$a"34r   c                    [         R                  " U R                  SSS9nUR                  5         U R                  R	                  5         U R                  R                  5         / nUR                  SUR                  5        UR                  SSS9  U R                  [        U5      SU5        US	   nU R                  UR                  [         R                  R                  5        U R                  UR                  U5        U R!                  UR"                  [$        5        U R                  UR&                  S
5        U R                  UR(                  S5        U R+                  [-        US5      5        U R                  UR.                  S
5        U R                  UR0                  S
5        U R                  UR2                  S
5        U R                  UR4                  S
5        U R                  UR6                  S
5        U R                  UR8                  S
5        U R                  UR:                  S5        U R                  UR<                  S5        U R                  UR>                  S	5        U R                  UR@                  S	5        U R                  URB                  S
5        U R                  URD                  S
5        U R                  URF                  S	5        U R                  [I        U5      S5        g )Nr  rn  r  z<Configure>x   r   )r   borderwidthrt   r   r   Fr  z.<Configure event x=0 y=0 width=150 height=100>)%r   r&   r%   rQ   r  r   r  ro  	configurer'   rA   rf  r   r  r  r   rV   r   r   r   r  r?   r  r   r   r   r   r   r   r   r   r   r   r   r   r   r(   r  s       r   test_configureEventTest.test_configuref  s   MM$))3s;			!!#		""$	}fmm,	3B/Va01Iaffg//99:ahh"ahh,&allE*G,-%$'&D)4(t,#&3'a a 4(4(!$a"RSr   c                 b   [         R                  " U R                  SSS9nUR                  5         U R                  R	                  5         U R                  R                  5         / nUR                  SUR                  5        UR                  5         UR                  S5        U R                  [        U5      SU5        US   nU R                  UR                  [         R                  R                  5        U R                  UR                   U5        U R#                  UR$                  [&        5        U R                  UR(                  S5        U R                  UR*                  S5        U R-                  [/        US	5      5        U R                  UR0                  S
5        U R#                  UR2                  [&        5        U R5                  UR2                  S5        U R                  UR6                  S5        U R#                  UR8                  [&        5        U R5                  UR8                  S5        U R                  UR:                  S5        U R                  UR<                  [?        S5      5        U R                  UR@                  S
5        U R                  URB                  S
5        U R                  URD                  SURG                  5       -
  5        U R                  URH                  SURK                  5       -
  5        U R                  URL                  S5        U R                  URN                  S5        U R                  URP                  S5        U R                  [S        U5      SUR2                  S SUR8                   SURD                   SURH                   S3	5        g )Nr  rn  r  z
<KeyPress>z<Alt-z>rt   r   Fr  r   zr   z<KeyPress event state=z#xz keysym=z keycode=z char='z' x=z y=>)*r   r&   r%   rQ   r  r   r  ro  r  event_generater'   rA   rf  r   r  r0  r   rV   r   r   r   r  r?   r  r   r   r<   r   r   r   r   r  r   r   r   winfo_rootxr   winfo_rootyr   r   r   r(   r  s       r   test_event_generate_key_press'EventTest.test_event_generate_key_press  s   MM$))3s;			!!#		""$	|V]]+		#Va01Iaffg//889ahh"ahh,#allE*G,-%aggs+AGGQ'%aii-AIIq)3's3x0$'4(b1==?23b1==?232&2&!$a$QWWRL 1  !		{,qsse3qsse1F	Gr   c                 F   [         R                  " U R                  SSS9nUR                  5         U R                  R	                  5         U R                  R                  5         / nUR                  SUR                  5        UR                  SSSS9  U R                  [        U5      SU5        US   nU R                  UR                  [         R                  R                  5        U R                  UR                  U5        U R!                  UR"                  [$        5        U R                  UR&                  S5        U R                  UR(                  S	5        U R                  UR*                  S	5        U R                  UR,                  S
5        U R                  UR.                  S5        U R                  UR0                  S
5        U R                  UR2                  S
5        U R                  UR4                  S
5        U R                  UR6                  S
5        U R                  UR8                  S
5        U R                  UR:                  S
5        U R                  UR<                  S5        U R                  UR>                  S5        U R                  UR@                  SURC                  5       -   5        U R                  URD                  SURG                  5       -   5        U R                  URH                  S5        U R                  [K        U5      S5        g )Nr  rn  r  <Enter>2   r   r   rt   r   Fr   z$<Enter event focus=False x=100 y=50>)&r   r&   r%   rQ   r  r   r  ro  r  r'   rA   rf  r   r  r6  r   rV   r   r   r   r  r  r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r(   r  s       r   test_event_generate_enter#EventTest.test_event_generate_enter  s7   MM$))3s;			!!#		""$	y&--(	cR0Va01Iaffg//556ahh"ahh,#allE*aggu%%!$&D)4(t,$'4(c"b!3#892#78!$a"HIr   c                 d   [         R                  " U R                  SSS9nUR                  5         U R                  R	                  5         U R                  R                  5         / nUR                  SUR                  5        UR                  5         UR                  SSSS9  U R                  [        U5      SU5        US	   nU R                  UR                  [         R                  R                  5        U R                  UR                   U5        U R#                  UR$                  [&        5        U R                  UR(                  S	5        U R                  UR*                  S
5        U R-                  [/        US5      5        U R                  UR0                  S5        U R                  UR2                  S	5        U R                  UR4                  S5        U R                  UR6                  S5        U R                  UR8                  S5        U R                  UR:                  S5        U R                  UR<                  S5        U R                  UR>                  S5        U R                  UR@                  S5        U R                  URB                  S5        U R                  URD                  URG                  5       S-   5        U R                  URH                  URK                  5       S-   5        U R                  URL                  S	5        U R                  [O        U5      S5        g )Nr  rn  r  z<ButtonPress>z
<Button-1>r  r  rt   r   Fr  r   z$<ButtonPress event num=1 x=100 y=50>)(r   r&   r%   rQ   r  r   r  ro  r  r  r'   rA   rf  r   r  r3  r   rV   r   r   r   r  r?   r  r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r(   r  s       r    test_event_generate_button_press*EventTest.test_event_generate_button_press  sC   MM$))3s;			!!#		""$	.		3Va01Iaffg//;;<ahh"ahh,#allE*G,-"!$&D)4(t,$'4(c"b!1==?S#891==?R#78!$a"HIr   c                 d   [         R                  " U R                  SSS9nUR                  5         U R                  R	                  5         U R                  R                  5         / nUR                  SUR                  5        UR                  5         UR                  SSSS9  U R                  [        U5      SU5        US	   nU R                  UR                  [         R                  R                  5        U R                  UR                   U5        U R#                  UR$                  [&        5        U R                  UR(                  S	5        U R                  UR*                  S
5        U R-                  [/        US5      5        U R                  UR0                  S5        U R                  UR2                  S5        U R                  UR4                  S5        U R                  UR6                  S5        U R                  UR8                  S5        U R                  UR:                  S5        U R                  UR<                  S5        U R                  UR>                  S5        U R                  UR@                  S5        U R                  URB                  S5        U R                  URD                  URG                  5       S-   5        U R                  URH                  URK                  5       S-   5        U R                  URL                  S	5        U R                  [O        U5      S5        g )Nr  rn  r  z<Motion>z<B1-Motion>r  r  rt   r   Fr  r      z'<Motion event state=Button1 x=100 y=50>)(r   r&   r%   rQ   r  r   r  ro  r  r  r'   rA   rf  r   r  r5  r   rV   r   r   r   r  r?   r  r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r(   r  s       r   test_event_generate_motion$EventTest.test_event_generate_motion  sC   MM$))3s;			!!#		""$	z6==)		#4Va01Iaffg//667ahh"ahh,#allE*G,-%%(&D)4(t,$'4(c"b!1==?S#891==?R#78!$a"KLr   c                 f   [         R                  " U R                  SSS9nUR                  5         U R                  R	                  5         U R                  R                  5         / nUR                  SUR                  5        UR                  5         UR                  SSSSS9  U R                  [        U5      SU5        US	   nU R                  UR                  [         R                  R                  5        U R                  UR                   U5        U R#                  UR$                  [&        5        U R                  UR(                  S
5        U R+                  [-        US5      5        U R                  UR.                  S	5        U R                  UR0                  S5        U R                  UR2                  S	5        U R                  UR4                  S5        U R                  UR6                  S5        U R                  UR8                  S5        U R                  UR:                  S5        U R                  UR<                  S5        U R                  UR>                  S5        U R                  UR@                  S5        U R                  URB                  S5        U R                  URD                  URG                  5       S-   5        U R                  URH                  URK                  5       S-   5        U R                  URL                  S5        U R                  [O        U5      S5        g )Nr  rn  r  z<MouseWheel>r  )r   r   r   rt   r   Fr  r   z&<MouseWheel event delta=-5 x=100 y=50>)(r   r&   r%   rQ   r  r   r  ro  r  r  r'   rA   rf  r   r  rT  r   rV   r   r   r  r?   r  r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r(   r  s       r   test_event_generate_mouse_wheel)EventTest.test_event_generate_mouse_wheel  sE   MM$))3s;			!!#		""$	~v}}-		3"B?Va01Iaffg//::;ahh"ahh,allE*G,-#%!$&D)4(t,$'4(c"b!1==?S#891==?R#78"%a"JKr   c                 @   [         R                  " U R                  SSS9nUR                  5         U R                  R	                  5         U R                  R                  5         / nUR                  SUR                  5        UR                  5         UR                  SSS9  U R                  [        U5      SU5        US   nU R                  UR                  [         R                  R                  5        U R                  UR                   U5        U R#                  UR$                  [&        5        U R                  UR(                  S5        U R                  UR*                  S	5        U R-                  [/        US
5      5        U R                  UR0                  S5        U R                  UR2                  S5        U R                  UR4                  S5        U R                  UR6                  S5        U R                  UR8                  S5        U R                  UR:                  S5        U R                  UR<                  S5        U R                  UR>                  S5        U R                  UR@                  S5        U R                  URB                  S5        U R                  URD                  URG                  5       S-   5        U R                  URH                  S5        U R                  URJ                  S5        U R                  [M        U5      S5        g )Nr  rn  r  z<<Spam>>r  )r   rt   r   Fr  r   r   z<VirtualEvent event x=50 y=0>)'r   r&   r%   rQ   r  r   r  ro  r  r  r'   rA   rf  r   r  rQ  r   rV   r   r   r   r  r?   r  r   r   r   r   r   r   r   r   r   r   r   r  r   r   r(   r  s       r   !test_generate_event_virtual_event+EventTest.test_generate_event_virtual_event4  s8   MM$))3s;			!!#		""$	z6==)		r*Va01Iaffg//<<=ahh"ahh,#allE*G,-%!$&D)4(t,$'4(b!a 1==?R#782&!$a+	.r   r1   N)r2   r3   r4   r5   r  r  r  r  r  r  r  r  r6   r1   r   r   r  r  B  s7     5DTB$GLJB JD MD LD!.r   r  c                      ^  \ rS rSrU 4S jrS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rSrU =r$ )BindTestiX  c                    > [         TU ]  5         U R                  n[        R                  " U R                  SSSS9U l        U R
                  R                  5         g )NTestr  rn  class_r   r   )supersetUpr%   r   r&   framerQ   )r   r%   	__class__s     r   r  BindTest.setUpZ  s@    yy]]499V),S:


r   c                 R    U R                  [        U R                  U5      U45        g rv   r'   _info_commandsr%   r   funcids     r   assertCommandExistBindTest.assertCommandExista  s    		6:VIFr   c                 P    U R                  [        U R                  U5      S5        g )Nr1   r  r  s     r   assertCommandNotExistBindTest.assertCommandNotExistd  s    		6:B?r   c                 B   SnU R                   nU R                  UR                  5       S5        U R                  UR                  U5      S5        S nS nUR                  X5      nU R                  UR                  5       U45        UR                  U5      nU R                  XV5        U R	                  U5        UR                  XSS9nUR                  U5      nU R                  XV5        U R                  Xv5        U R	                  U5        U R	                  U5        g )N<Control-Alt-Key-a>r1   r   c                     g rv   r1   r   s    r   test1!BindTest.test_bind.<locals>.test1l      dr   c                     g rv   r1   r  s    r   test2!BindTest.test_bind.<locals>.test2m  r  r   Tadd)r  r'   r  r   r  )r   eventr*   r  r  r  r   funcid2s           r   	test_bindBindTest.test_bindg  s    %JJ2&+%E8,f%'&&4&0f%g&'(r   c                    SnU R                   nU R                  UR                  5       S5        U R                  UR                  U5      S5        S nS nUR                  X5      nUR                  XSS9nU R                  [        UR
                  5        UR                  U5        U R                  UR                  U5      S5        U R                  UR                  5       S5        g )N<Control-Alt-Key-b>r1   r   c                     g rv   r1   r  s    r   r  #BindTest.test_unbind.<locals>.test1  r  r   c                     g rv   r1   r  s    r   r  #BindTest.test_unbind.<locals>.test2  r  r   Tr  )r  r'   r  r   rh  unbind)r   r  r*   r  r  r  r  s          r   test_unbindBindTest.test_unbind|  s    %JJ2&+%&&4&0)QXX.	+2&r   c                 D  ^
 U R                   nUR                  5         UR                  5         UR                  5         SnU R	                  UR                  5       S5        U R	                  UR                  U5      S5        U
4S jnU
4S jnU
4S jnUR                  X#5      nUR                  X$SS9nUR                  X%SS9n/ m
UR                  U5        U R	                  T
/ S	Q5        UR                  X'5        UR                  U5      n	U R                  Xy5        U R                  Xi5        U R                  X5        U R	                  UR                  5       U45        U R                  U5        U R                  U5        U R                  U5        / m
UR                  U5        U R	                  T
S
S/5        UR                  X&5        UR                  X(5        U R	                  UR                  U5      S5        U R	                  UR                  5       S5        U R                  U5        U R                  U5        U R                  U5        / m
UR                  U5        U R	                  T
/ 5        U R                  [        R                  UR                  X'5        g )Nz<Control-Alt-Key-c>r1   r   c                 (   > TR                  S5        g )Naro  r   r  s    r   r  $BindTest.test_unbind2.<locals>.test1      fmmC(r   c                 (   > TR                  S5        g )NrC   r  r  s    r   r  $BindTest.test_unbind2.<locals>.test2  r  r   c                 (   > TR                  S5        g )Ncr  r  s    r   test3$BindTest.test_unbind2.<locals>.test3  r  r   Tr  )r  rC   r  r  r  )r  r  r  r   r'   r  r  r  r   r   r  r  r   r   r   )r   r*   r  r  r  r  r  r  funcid3r   r  s             @r   test_unbind2BindTest.test_unbind2  s   JJ			%2&+(((%&&4&0&&4&0	1	 )f%g&E8,""7+'(	#s,		 +2&""6*""7+""7+	$ 	'**AHHeEr   c                 l   SnU R                   nU R                  UR                  5       S5        U R                  UR                  U5      S5        S nS nS nUR                  X5      nUR                  XSS9nUR                  U5      nU R                  Xx5        U R                  Xh5        U R	                  U5        U R	                  U5        UR                  X5      n	UR                  U5      nU R                  Xh5        U R                  Xx5        U R                  X5        U R	                  U	5        g )	N<Control-Alt-Key-d>r1   r   c                     g rv   r1   r  s    r   r  (BindTest.test_bind_rebind.<locals>.test1  r  r   c                     g rv   r1   r  s    r   r  (BindTest.test_bind_rebind.<locals>.test2  r  r   c                     g rv   r1   r  s    r   r  (BindTest.test_bind_rebind.<locals>.test3  r  r   Tr  )r  r'   r  r   r  r   )
r   r  r*   r  r  r  r  r  r   r!  s
             r   test_bind_rebindBindTest.test_bind_rebind  s    %JJ2&+%&&4&0g&f%'(&&&()g&(r   c                 d   SnU R                   R                  nU R                   R                  nU R                  [        U5        U R                  U" S5      S5        U R                  U" SU5      S5        U R                  USU5        S nS nU" SX5      nU R                  U" S5      U45        U" SU5      nU R                  Xg5        U R                  U5        U" SXSS9nU" SU5      nU R                  Xg5        U R                  X5        U R                  U5        U R                  U5        g )	Nz<Control-Alt-Key-e>r  r1   r   c                     g rv   r1   r  s    r   r  'BindTest.test_bind_class.<locals>.test1  r  r   c                     g rv   r1   r  s    r   r  'BindTest.test_bind_class.<locals>.test2  r  r   Tr  )	r%   
bind_classunbind_classr   rh  r'   
addCleanupr   r  )	r   r  r3  r4  r  r  r  r   r  s	            r   test_bind_classBindTest.test_bind_class  s   %YY))
yy--)Z0F+R0FE2B7fe4FE1F+eX6FE*f%'VUt<FE*f%g&'(r   c                 :   SnU R                   R                  nU R                   R                  nU R                  U" S5      S5        U R                  U" SU5      S5        U R	                  USU5        S nS nU" SX5      nU" SXSS9nU R                  [        U5        U R                  [        US5        U" SU5        U R                  U" SU5      S5        U R                  U" S5      S5        U R                  U5        U R                  U5        U" SU5        g )	Nz<Control-Alt-Key-f>r  r1   r   c                     g rv   r1   r  s    r   r  )BindTest.test_unbind_class.<locals>.test1  r  r   c                     g rv   r1   r  s    r   r  )BindTest.test_unbind_class.<locals>.test2  r  r   Tr  )r%   r3  r4  r'   r5  r   rh  r  )r   r  r3  r4  r  r  r  r  s           r   test_unbind_classBindTest.test_unbind_class  s    %YY))
yy--F+R0FE2B7fe4FE1VUt<)\2)\6:VU#FE2B7F+R0'(VU#r   c                    SnU R                   R                  nU R                   R                  nU R                  U" S5      S5        U R                  U" SU5      S5        U R	                  USU5        S nS nS nU" SX5      nU" SXSS	9nU" SU5      n	U R                  X5        U R                  Xy5        U R                  U5        U R                  U5        U" SX5      n
U" SU5      n	U R                  Xy5        U R                  X5        U R                  X5        U R                  U5        U R                  U5        U R                  U
5        g )
Nz<Control-Alt-Key-g>r  r1   r   c                     g rv   r1   r  s    r   r  .BindTest.test_bind_class_rebind.<locals>.test1  r  r   c                     g rv   r1   r  s    r   r  .BindTest.test_bind_class_rebind.<locals>.test2	  r  r   c                     g rv   r1   r  s    r   r  .BindTest.test_bind_class_rebind.<locals>.test3
  r  r   Tr  )r%   r3  r4  r'   r5  r   r  r   )r   r  r3  r4  r  r  r  r  r  r   r!  s              r   test_bind_class_rebindBindTest.test_bind_class_rebind  s.   %YY))
yy--F+R0FE2B7fe4FE1VUt<FE*g&f%'(VU2FE*()g&'((r   c                     SnU R                   R                  nU R                   R                  nU R                  X" 5       5        U R	                  U" U5      S5        U R                  X15        S nS nU" X5      nU R                  X" 5       5        U" U5      nU R                  Xg5        U R                  U5        U" XSS9nU" U5      nU R                  Xg5        U R                  X5        U R                  U5        U R                  U5        g )Nz<Control-Alt-Key-h>r   c                     g rv   r1   r  s    r   r  %BindTest.test_bind_all.<locals>.test1$  r  r   c                     g rv   r1   r  s    r   r  %BindTest.test_bind_all.<locals>.test2%  r  r   Tr  r%   bind_all
unbind_allr   r'   r5  r   r  )	r   r  rN  rO  r  r  r  r   r  s	            r   test_bind_allBindTest.test_bind_all  s    %99%%YY))

+%"-
*%'eXZ(%f%'5T2%f%g&'(r   c                    SnU R                   R                  nU R                   R                  nU R                  X" 5       5        U R	                  U" U5      S5        U R                  X15        S nS nU" X5      nU" XSS9nU" U5        U R	                  U" U5      S5        U R                  X" 5       5        U R                  U5        U R                  U5        U" U5        g )Nz<Control-Alt-Key-i>r   c                     g rv   r1   r  s    r   r  'BindTest.test_unbind_all.<locals>.test1;  r  r   c                     g rv   r1   r  s    r   r  'BindTest.test_unbind_all.<locals>.test2<  r  r   Tr  )r%   rN  rO  r   r'   r5  r  )r   r  rN  rO  r  r  r  r  s           r   test_unbind_allBindTest.test_unbind_all4  s    %99%%YY))

+%"-
*%'5T25%"-
+'(5r   c                    SnU R                   R                  nU R                   R                  nU R                  X" 5       5        U R	                  U" U5      S5        U R                  X15        S nS nS nU" X5      nU" XSS9nU" U5      n	U R                  X5        U R                  Xy5        U R                  U5        U R                  U5        U" X5      n
U" U5      n	U R                  Xy5        U R                  X5        U R                  X5        U R                  U5        U R                  U5        U R                  U
5        g )Nz<Control-Alt-Key-j>r   c                     g rv   r1   r  s    r   r  ,BindTest.test_bind_all_rebind.<locals>.test1P  r  r   c                     g rv   r1   r  s    r   r  ,BindTest.test_bind_all_rebind.<locals>.test2Q  r  r   c                     g rv   r1   r  s    r   r  ,BindTest.test_bind_all_rebind.<locals>.test3R  r  r   Tr  rM  )r   r  rN  rO  r  r  r  r  r  r   r!  s              r   test_bind_all_rebindBindTest.test_bind_all_rebindI  s   %99%%YY))

+%"-
*%'5T2%g&f%'(5(%()g&'((r   c                 l   SnSnUR                  5         U R                  [        UR                  5        [	        U[
        R                  5      (       a  UR                  OUR                  n[	        U[
        R                  5      (       aB  U R                  [        UR                  U5        U R                  [        UR                  X#5        U R                  U" U5      S5        U R                  U" X#5      S5        S nS nUR                  X#U5      nU R                  U" U5      U45        U" X#5      nU R                  Xx5        U R                  U5        UR                  X#USS9n	U" X#5      nU R                  Xx5        U R                  X5        U R                  U5        U R                  U	5        g )	Nselr  r1   r   c                     g rv   r1   r  s    r   r  &BindTest._test_tag_bind.<locals>.test1p  r  r   c                     g rv   r1   r  s    r   r  &BindTest._test_tag_bind.<locals>.test2q  r  r   Tr  )rQ   r   rh  tag_bind
isinstancer   Text	_tag_bindr'   r   r  )
r   r   tagr  rh  r  r  r  r   r  s
             r   _test_tag_bindBindTest._test_tag_binde  sP   %	)QZZ0",Q"="=1;;1::a&&iS9iS@#+#-r2C.#1#%f%'**SD*9#%f%g&'(r   c                    SnSnUR                  5         [        U[        R                  5      (       a  UR                  OUR
                  nU R                  U" U5      S5        U R                  U" X#5      S5        S nS nUR                  X#U5      nUR                  X#USS9nU R                  [        UR                  U5        UR                  X#5        U R                  U" X#5      S5        U R                  U" U5      S5        g )	Nrc  r  r1   r   c                     g rv   r1   r  s    r   r  (BindTest._test_tag_unbind.<locals>.test1  r  r   c                     g rv   r1   r  s    r   r  (BindTest._test_tag_unbind.<locals>.test2  r  r   Tr  )
rQ   ri  r   rj  rk  rh  r'   r   rh  
tag_unbind)	r   r   rl  r  rh  r  r  r  r  s	            r   _test_tag_unbindBindTest._test_tag_unbind  s    %	",Q"="=1;;1::#+#-r2C.**SD*9)Q\\37	S #-r2#+r   c                    SnSnUR                  5         [        U[        R                  5      (       a  UR                  OUR
                  nU R                  U" U5      S5        U R                  U" X#5      S5        S nS nS nUR                  X#U5      nUR                  X#USS	9n	U" X#5      n
U R                  X5        U R                  X5        U R                  U5        U R                  U	5        UR                  X#U5      nU" X#5      n
U R                  X5        U R                  X5        U R                  X5        U R                  U5        g )
Nrc  r%  r1   r   c                     g rv   r1   r  s    r   r  -BindTest._test_tag_bind_rebind.<locals>.test1  r  r   c                     g rv   r1   r  s    r   r  -BindTest._test_tag_bind_rebind.<locals>.test2  r  r   c                     g rv   r1   r  s    r   r  -BindTest._test_tag_bind_rebind.<locals>.test3  r  r   Tr  )
rQ   ri  r   rj  rk  rh  r'   r   r  r   )r   r   rl  r  rh  r  r  r  r  r  r   r!  s               r   _test_tag_bind_rebindBindTest._test_tag_bind_rebind  s   %	",Q"="=1;;1::#+#-r2C.**SD*9#%g&f%'(**S/#%()g&(r   c                 f    [         R                  " U R                  5      nU R                  U5        g rv   )r   Canvasr  rm  r   r  s     r   test_canvas_tag_bindBindTest.test_canvas_tag_bind  s"    NN4::&Ar   c                 f    [         R                  " U R                  5      nU R                  U5        g rv   )r   r  r  ru  r  s     r   test_canvas_tag_unbindBindTest.test_canvas_tag_unbind  s"    NN4::&a r   c                 f    [         R                  " U R                  5      nU R                  U5        g rv   )r   r  r  r~  r  s     r   test_canvas_tag_bind_rebind$BindTest.test_canvas_tag_bind_rebind  s"    NN4::&""1%r   c                 f    [         R                  " U R                  5      nU R                  U5        g rv   )r   rj  r  rm  r   r)   s     r   test_text_tag_bindBindTest.test_text_tag_bind  s"    LL$Ar   c                 f    [         R                  " U R                  5      nU R                  U5        g rv   )r   rj  r  ru  r  s     r   test_text_tag_unbindBindTest.test_text_tag_unbind  s"    LL$a r   c                 f    [         R                  " U R                  5      nU R                  U5        g rv   )r   rj  r  r~  r  s     r   test_text_tag_bind_rebind"BindTest.test_text_tag_bind_rebind  s"    LL$""1%r   c                 ,   U R                   nU R                  U R                  R                  5       S5        U R                  UR                  5       [	        U5      SSS45        UR                  S5        U R                  UR                  5       S5        g )N)r8   Tkallr  r8   r  )r  zb c)r  r'   r%   bindtagsr=   )r   r*   s     r   test_bindtagsBindTest.test_bindtags  sn    JJ++-/ABAU'CD	

< |4r   c                   ^ SnU R                   n[        R                  " U5      n[        R                  " USSSS9nUR	                  5         UR                  5         UR                  5         U R                  UR                  SU5        U R                  UR                  SU5        U R                  UR                  SU5        U R                  UR                  SU5        U R                  UR                  U5        U4S	 jnUR                  X" S
5      5        UR                  SX" S5      5        UR                  SX" S5      5        UR                  SX" S5      5        UR                  SX" S5      5        UR                  X" S5      5        UR                  X" S5      5        / mUR                  U5        U R                  TSU4SU4SU4S
U4/5        / mUR                  U5        U R                  TSU4SU4S
U4/5        UR                  S5        / mUR                  U5        U R                  TSU4/5        g )Nr  r  r  rn  r  r$   rl  tag2c                    >^  UU 4S j$ )Nc                 >   > TR                  TU R                  45      $ rv   )ro  r   )r   r  whats    r   r   9BindTest.test_bind_events.<locals>.test.<locals>.<lambda>  s    V]]D!((+;<r   r1   )r  r  s   `r   test'BindTest.test_bind_events.<locals>.test  s	    <<r   r  zframe classztoplevel classr  toplevel)rl  tag3)r%   r   r$   r&   rQ   r  r   r5  r4  rO  rN  r3  r  r  r'   r  )r   r  r%   r)   r*   r  r  s         @r   test_bind_eventsBindTest.test_bind_events  s   yyT"MM!F#cB	))659)):u=))5%8))659/	= 	eT%[)tM':;
E40@+ABud5k2tF|4	ud7m$	ud:&'	aLAOAJ	"
 	 	Oq!AJ"
 	 	


?#	5!*.r   )r  )r2   r3   r4   r5   r  r  r  r	  r  r"  r,  r6  r=  rF  rP  rW  r`  rm  ru  r~  r  r  r  r  r  r  r  r  r6   __classcell__)r  s   @r   r  r  X  s    G@)*' ,F\)0)0$.)8).*)8)6,$)4!&!&5,/ ,/r   r  c                   ,    \ rS rSrS rS rS rS rSrg)DefaultRootTesti  c                 \   U R                  [        R                  S5        U R                  [        R                  5        [        R
                  " 5       n[        R
                  " 5       n[        R
                  " 5       nU R                  [        R                  U5        UR                  5         U R                  [        R                  U5        UR                  5         U R                  [        R                  5        UR                  5         U R                  [        R                  5        g )NT)rf  r   _support_default_rootr   _default_rootr  r  )r   r%   root2root3s       r   test_default_root!DefaultRootTest.test_default_root  s    g33T:'//0zz|



g++T2g++T2'//0'//0r   c                    U R                  [        R                  S5        U R                  [        R                  5        [        R
                  " 5       nU R                  [        R                  U5        [        R                  " 5         U R                  [        R                  S5        U R                  [        [        S5      5        [        R                  " 5         U R                  [        R                  S5        U R                  [        [        S5      5        UR                  5         U R                  [        R                  S5        U R                  [        [        S5      5        [        R
                  " 5       nU R                  [        R                  S5        U R                  [        [        S5      5        UR                  5         g )NTFr  )
rf  r   r  r   r  r  NoDefaultRootr?   r  r  rp   s     r   test_no_default_root$DefaultRootTest.test_no_default_root
  s"   g33T:'//0zz|g++T2g33U;/:;g33U;/:;g33U;/:;zz|g33U;/:;r   c                    U R                  [        [        R                  S5        [        R                  " 5       nU R                  [        R                  " S5      S5        U R                  [        [        R                  S5        UR                  5         [        R                  " 5         U R                  [        [        R                  S5        g )Nr_  Tre  )	r   RuntimeErrorr   rg  r  rf  r   r  r  rp   s     r   rj  DefaultRootTest.test_getboolean  s    ,(:(:C@zz|g((-t4*g&8&8%@,(:(:C@r   c                 h   U R                  [        [        R                  5        [        R                  " 5       nUR                  UR                  5        [        R                  " 5         UR                  5         [        R                  " 5         U R                  [        [        R                  5        g rv   )	r   r  r   rs  r  r   rp  r  r  rp   s     r   ru  DefaultRootTest.test_mainloop'  sj    ,(8(89zz|		",(8(89r   r1   N)	r2   r3   r4   r5   r  r  rj  ru  r6   r1   r   r   r  r    s    1(A:r   r  c                 n    U R                   R                  U R                   R                  SSU5      5      $ )Nr   commands)r   r   r   )r   patterns     r   r  r  1  s(    99vyy~~fj'JKKr   __main__rv   )r   unittestr   r   rV  r  r   test.test_tkinter.supportr   r   r   r   requiresTestCaser   r  r  r  r  r  r2   mainr1   r   r   <module>r     s         G G    cG~x00 cGLM^X.. M`S. 1 1 S.l_/~x00 _/D4:-x/@/@ 4:nL zMMO r   