+
     Bi	                     
   R t ^ RIHtHt ^ RIHt ]! R4       ^ RIHt ^ RIt^ RI	H
t
HtHt ^ RItR tR tR	 tR
 t ! R R]P$                  4      t ! R R]P$                  4      t]R8X  d   ]P,                  ! ^R7       R# R# )zTest tooltip, coverage 100%.

Coverage is 100% after excluding 6 lines with "# pragma: no cover".
They involve TclErrors that either should or should not happen in a
particular situation, and which are 'pass'ed if they do.
)TooltipBaseHovertip)requiresgui)wrapsN)ButtonTkToplevelc                      \        4       sR # N)r   root     5/usr/lib/python3.14/idlelib/idle_test/test_tooltip.pysetUpModuler      s	    4Dr   c                  X    \         P                  4        \         P                  4        @ R # r   )r   update_idletasksdestroyr   r   r   tearDownModuler      s    LLNr   c                 B   a a \        S 4      V V3R  l4       o. Sn        S# )c                  L   < SP                   P                  W34       S! V / VB # r   )call_args_listappend)argskwargsfuncwrapped_funcs   *,r   r   'add_call_counting.<locals>.wrapped_func   s)    ##**D>:T$V$$r   )r   r   )r   r   s   f@r   add_call_countingr      s)    
4[% % #%Lr   c                    \        \        4      pV P                  VP                  4       VP	                  R 4       \        VRR7      pVP                  4        V P                  VP                  4       VP                  4        W3# )zTest tooltipToolTip test buttontext)r	   r   
addCleanupr   titler   packlift)testobjtopbuttons   &  r   _make_top_and_buttonr*   &   sb    
4.Cs{{#IInC34F
KKMv~~&HHJ;r   c                   ,   a  ] tR t^2t o R tR tRtV tR# )ToolTipBaseTestc                6    \        V 4      w  V n        V n        R # r   r*   r(   r)   selfs   &r   setUpToolTipBaseTest.setUp3        4T :$+r   c                t   \        \        4      pV P                  VP                  4       \	        VR R7      pVP                  4        V P                  VP                  4       V P                  \        4      ;_uu_ 4        \        V4      pVP                  4        RRR4       R#   + '       g   i     R# ; i)r    r!   N)
r	   r   r#   r   r   r%   assertRaisesNotImplementedErrorr   showtip)r0   r(   r)   tooltips   &   r   test_base_class_is_unusable+ToolTipBaseTest.test_base_class_is_unusable6   sv    tn$"78'233!&)GOO 4333s    B&&B7	r)   r(   N)__name__
__module____qualname____firstlineno__r1   r9   __static_attributes____classdictcell____classdict__s   @r   r,   r,   2   s     ; r   r,   c                   P   a  ] tR t^Dt o R tR tR tR tR tR t	R t
R tR	tV tR
# )HovertipTestc                6    \        V 4      w  V n        V n        R # r   r.   r/   s   &r   r1   HovertipTest.setUpE   r3   r   c                ^    VP                   ;'       d    VP                   P                  4       # r   )	tipwindowwinfo_viewabler0   r8   s   &&r   is_tipwindow_shownHovertipTest.is_tipwindow_shownH   s%      GGW%6%6%E%E%GGr   c                   \        V P                  R 4      pV P                  VP                  4       V P	                  V P                  V4      4       VP                  4        V P                  V P                  V4      4       R# ToolTip textN)r   r)   r#   hidetipassertFalserL   r7   
assertTruerK   s   & r   test_showtipHovertipTest.test_showtipK   s\    4;;7(009://89r   c                   \        V P                  R 4      pV P                  VP                  4       V P	                  V P                  V4      4       VP                  4        V P                  V P                  V4      4       VP                  pVP                  4        V P                  V P                  V4      4       V P                  VP                  V4       R# rO   )
r   r)   r#   rQ   rR   rL   r7   rS   rI   assertIs)r0   r8   orig_tipwindows   &  r   test_showtip_twiceHovertipTest.test_showtip_twiceR   s    4;;7(009://89 **//89g''8r   c                    \        V P                  R 4      pV P                  VP                  4       VP	                  4        VP                  4        V P                  V P                  V4      4       R# rO   )r   r)   r#   rQ   r7   rR   rL   rK   s   & r   test_hidetipHovertipTest.test_hidetip]   sO    4;;7(009:r   c                
   \        V P                  R RR7      pV P                  VP                  4       \	        VP
                  4      Vn        \        P                  4        V P                  V P                  V4      4       V P                  P                  R^ ^ R7       \        P                  4        V P                  V P                  V4      4       V P                  \        VP
                  P                  4      ^ 4       R# )rP   Nhover_delay<Enter>xy)r   r)   r#   rQ   r   r7   r   updaterR   rL   event_generaterS   assertGreaterlenr   rK   s   & r   $test_showtip_on_mouse_enter_no_delay1HovertipTest.test_showtip_on_mouse_enter_no_delayd   s    4;;DI(+GOO<009:""9Q"7//893w==>Br   c                   \        V P                  R ^dR7      pV P                  VP                  4       \	        VP
                  4      Vn        \        P                  4        V P                  V P                  V4      4       V P                  P                  R^ ^ R7       \        P                  4        V P                  V P                  V4      4       \        V P                  R ^dR7      pV P                  VP                  4       \	        VP
                  4      Vn        \        P                  4        V P                  P                  R^ ^ R7       \        P                  4        V P                  P                  R^ ^ R7       \        P                  4        \        P                  ! R4       \        P                  4        V P                  V P                  V4      4       V P                  \        VP
                  P                   4      ^ 4       V P                  V P                  V4      4       V P#                  VP
                  P                   . 4       R# )rP   r_   ra   rb   <Leave>g333333?N)r   r)   r#   rQ   r   r7   r   re   rR   rL   rf   timesleeprS   rg   rh   r   assertEqual)r0   tooltip1tooltip2s   &  r   test_hover_with_delay"HovertipTest.test_hover_with_delayo   s    DKKSI((),X-=-=>00:;""9Q"700:;
 DKKSI((),X-=-=>""9Q"7""9Q"7

4 	//9:3x//>>?C 	00:;))88"=r   c                .   \        V P                  R RR7      pV P                  VP                  4       \	        VP
                  4      Vn        \        P                  4        V P                  P                  R^ ^ R7       \        P                  4        V P                  P                  R^ ^ R7       \        P                  4        V P                  V P                  V4      4       V P                  \        VP
                  P                  4      ^ 4       R# )rP   Nr_   ra   rb   rl   )r   r)   r#   rQ   r   r7   r   re   rf   rR   rL   rg   rh   r   rK   s   & r   test_hidetip_on_mouse_leave(HovertipTest.test_hidetip_on_mouse_leave   s    4;;DI(+GOO<""9Q"7""9Q"7009:3w==>Br   r;   N)r<   r=   r>   r?   r1   rL   rT   rY   r\   ri   rr   ru   r@   rA   rB   s   @r   rE   rE   D   s7     ;H:	9;	C">H
C 
Cr   rE   __main__)	verbosity)__doc__idlelib.tooltipr   r   test.supportr   	functoolsr   rm   tkinterr   r   r	   unittestr   r   r   r*   TestCaser,   rE   r<   mainr   r   r   <module>r      s    2 !    ( ( 	h'' $YC8$$ YCx zMMA r   