3
ข f
ใ @ sธ d dl mZmZ d dlmZ ed d dlmZ d dlZd dlm Z m
Z
mZ d dlZdd Z
d d
Zdd Zd
d Zdd ZG dd dejZG dd dejZedkrดejdd dS )้ )ฺTooltipBaseฺHovertip)ฺrequiresZgui)ฺwrapsN)ฺButtonฺTkฺToplevelc C s
t ad S )N)r ฺrootฉ r
r
๚C/opt/alt/python36/lib64/python3.6/idlelib/idle_test/test_tooltip.pyฺsetUpModule s r c C s t j d S )N)r ฺupdater
r
r
r ฺroot_update s r c C s t j t j b d S )N)r Zupdate_idletasksฺdestroyr
r
r
r ฺtearDownModule s r c s t fddg _S )Nc s j j| |f | |S )N)ฺcall_args_listฺappend)ฺargsฺkwargs)ฺfuncฺwrapped_funcr
r r s z'add_call_counting..wrapped_func)r r )r r
)r r r ฺadd_call_counting s r c C sN t t}| j|j |jd t|dd}|j | j|j |j ||fS )NzTest tooltipzToolTip test button)ฺtext)r r ฺ
addCleanupr ฺtitler ฺpackZlift)Ztestobjฺtopฺbuttonr
r
r ฺ_make_top_and_button" s
r c @ s e Zd Zdd Zdd ZdS )ฺToolTipBaseTestc C s t | \| _| _d S )N)r r r )ฺselfr
r
r ฺsetUp/ s zToolTipBaseTest.setUpc C s^ t t}| j|j t|dd}|j | j|j | jt t|}|j W d Q R X d S )NzToolTip test button)r )
r r r r r r ZassertRaisesฺNotImplementedErrorr ฺshowtip)r r r ฺtooltipr
r
r ฺtest_base_class_is_unusable2 s z+ToolTipBaseTest.test_base_class_is_unusableN)ฺ__name__ฺ
__module__ฺ__qualname__r! r% r
r
r
r r . s r c @ sL e Zd Zdd Zdd Zdd Zdd Zd d
Zdd Zd
d Z dd Z
dS )ฺHovertipTestc C s t | \| _| _d S )N)r r r )r r
r
r r! A s zHovertipTest.setUpc C sP t | jd}| j|j | j|jo*|jj |j | j|joH|jj d S )NzToolTip text) r r r ฺhidetipฺassertFalseฺ tipwindowฺwinfo_viewabler# ฺ
assertTrue)r r$ r
r
r ฺtest_showtipD s
zHovertipTest.test_showtipc C s t | jd}| j|j | j|jo*|jj |j | j|joH|jj |j}|j | j|jol|jj | j |j| d S )NzToolTip text)
r r r r* r+ r, r- r# r. ZassertIs)r r$ Zorig_tipwindowr
r
r ฺtest_showtip_twiceK s zHovertipTest.test_showtip_twicec C sB t | jd}| j|j |j |j | j|jo:|jj d S )NzToolTip text)r r r r* r# r+ r, r- )r r$ r
r
r ฺtest_hidetipV s
zHovertipTest.test_hidetipc C s t | jdd d}| j|j t|j|_t | j|jo@|jj | jj
dddd t | j|jon|jj | jt
|jjd d S )NzToolTip text)ฺhover_delayzr )ฺxฺy)r r r r* r r# r r+ r, r- ฺevent_generater. ฺ
assertGreaterฺlenr )r r$ r
r
r ฺ$test_showtip_on_mouse_enter_no_delay] s z1HovertipTest.test_showtip_on_mouse_enter_no_delayc C sฐ t | jddd}| j|j t|j|_t | j|jo@|jj | jj
dddd t | j|jon|jj tjd t | j
|jo|jj | jt|jjd d S )NzToolTip text้2 )r2 zr )r3 r4 gน?)r r r r* r r# r r+ r, r- r5 ฺtimeฺsleepr. r6 r7 r )r r$ r
r
r ฺ'test_showtip_on_mouse_enter_hover_delayh s
z4HovertipTest.test_showtip_on_mouse_enter_hover_delayc C s t | jdd d}| j|j t|j|_t | jjdddd t | jjdddd t | j|j op|j j
| jt|jj
d d S )NzToolTip text)r2 zr )r3 r4 z)r r r r* r r# r r5 r+ r, r- r6 r7 r )r r$ r
r
r ฺtest_hidetip_on_mouse_leavev s z(HovertipTest.test_hidetip_on_mouse_leavec C s t | jddd}| j|j t|j|_t | jjdddd t | jjdddd t tj d t | j
|jo|jj | j
|jjg d S ) NzToolTip textr9 )r2 zr )r3 r4 zgน?)r r r r* r r# r r5 r: r; r+ r, r- ZassertEqualr )r r$ r
r
r ฺ*test_dont_show_on_mouse_leave_before_delay s
z7HovertipTest.test_dont_show_on_mouse_leave_before_delayN)r&