£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
B
     f	                 @   s   d Z ddlmZmZ ddlmZ ed ddlmZ ddlZddl	m
Z
mZmZ ddlZdd	 Zd
d Zdd Zdd ZG dd dejZG dd dejZedkrejdd dS )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)requiresZgui)wrapsN)ButtonTkToplevelc               C   s
   t  ad S )N)r   root r
   r
   C/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_tooltip.pysetUpModule   s    r   c               C   s   t   t   b d S )N)r	   Zupdate_idletasksdestroyr
   r
   r
   r   tearDownModule   s    r   c                s    t   fddg _S )Nc                 s   j | |f  | |S )N)call_args_listappend)argskwargs)funcwrapped_funcr
   r   r      s    z'add_call_counting.<locals>.wrapped_func)r   r   )r   r
   )r   r   r   add_call_counting   s    r   c             C   sN   t t}| |j |d t|dd}|  | |j |  ||fS )NzTest tooltipzToolTip test button)text)r   r	   
addCleanupr   titler   packZlift)Ztestobjtopbuttonr
   r
   r   _make_top_and_button&   s    
r   c               @   s   e Zd Zdd Zdd ZdS )ToolTipBaseTestc             C   s   t | \| _| _d S )N)r   r   r   )selfr
   r
   r   setUp3   s    zToolTipBaseTest.setUpc          	   C   s^   t t}| |j t|dd}|  | |j | t t|}|	  W d Q R X d S )NzToolTip test button)r   )
r   r	   r   r   r   r   ZassertRaisesNotImplementedErrorr   showtip)r   r   r   tooltipr
   r
   r   test_base_class_is_unusable6   s    z+ToolTipBaseTest.test_base_class_is_unusableN)__name__
__module____qualname__r   r#   r
   r
   r
   r   r   2   s   r   c               @   sL   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dS )HovertipTestc             C   s   t | \| _| _d S )N)r   r   r   )r   r
   r
   r   r   E   s    zHovertipTest.setUpc             C   s   |j o|j  S )N)	tipwindowZwinfo_viewable)r   r"   r
   r
   r   is_tipwindow_shownH   s    zHovertipTest.is_tipwindow_shownc             C   sD   t | jd}| |j | | | |  | | | d S )NzToolTip text)r   r   r   hidetipassertFalser)   r!   
assertTrue)r   r"   r
   r
   r   test_showtipK   s
    zHovertipTest.test_showtipc             C   sp   t | jd}| |j | | | |  | | | |j}|  | | | | 	|j| d S )NzToolTip text)
r   r   r   r*   r+   r)   r!   r,   r(   ZassertIs)r   r"   Zorig_tipwindowr
   r
   r   test_showtip_twiceR   s    zHovertipTest.test_showtip_twicec             C   s<   t | jd}| |j |  |  | | | d S )NzToolTip text)r   r   r   r*   r!   r+   r)   )r   r"   r
   r
   r   test_hidetip]   s
    zHovertipTest.test_hidetipc             C   s   t | jdd d}| |j t|j|_t  | | 	| | jj
dddd t  | | 	| | t|jjd d S )NzToolTip text)hover_delayz<Enter>r   )xy)r   r   r   r*   r   r!   r	   updater+   r)   event_generater,   assertGreaterlenr   )r   r"   r
   r
   r   $test_showtip_on_mouse_enter_no_delayd   s    z1HovertipTest.test_showtip_on_mouse_enter_no_delayc             C   s(  t | jddd}| |j t|j|_t  | | 	| | jj
dddd t  | | 	| t | jddd}| |j t|j|_t  | jj
dddd t  | jj
dddd t  td t  | | 	| | t|jjd | | 	| | |jjg  d S )	NzToolTip textd   )r0   z<Enter>r   )r1   r2   z<Leave>g333333?)r   r   r   r*   r   r!   r	   r3   r+   r)   r4   timeZsleepr,   r5   r6   r   ZassertEqual)r   Ztooltip1Ztooltip2r
   r
   r   test_hover_with_delayo   s,    
z"HovertipTest.test_hover_with_delayc             C   s   t | jdd d}| |j t|j|_t  | jjdddd t  | jjdddd t  | 	| 
| | t|jjd d S )NzToolTip text)r0   z<Enter>r   )r1   r2   z<Leave>)r   r   r   r*   r   r!   r	   r3   r4   r+   r)   r5   r6   r   )r   r"   r
   r
   r   test_hidetip_on_mouse_leave   s    z(HovertipTest.test_hidetip_on_mouse_leaveN)r$   r%   r&   r   r)   r-   r.   r/   r7   r:   r;   r
   r
   r
   r   r'   D   s   $r'   __main__   )	verbosity)__doc__Zidlelib.tooltipr   r   Ztest.supportr   	functoolsr   r9   Ztkinterr   r   r   Zunittestr   r   r   r   ZTestCaser   r'   r$   mainr
   r
   r
   r   <module>   s   	\