a  ze @sddlmZmZddlmZedddlmZddlZddlm Z m Z m Z ddl Z ddZ d d Zd d Zd dZGddde jZGddde jZedkre jdddS)) TooltipBaseHovertip)requiresZgui)wrapsN)ButtonTkToplevelcCs tadSN)rrootr r R/opt/bitninja-python-dojo/embedded/lib/python3.9/idlelib/idle_test/test_tooltip.py setUpModulesr cCsttbdSr )r Zupdate_idletasksdestroyr r r r tearDownModulesrcs tfddg_S)Ncsj||f|i|Sr )call_args_listappend)argskwargsfunc wrapped_funcr r rsz'add_call_counting..wrapped_func)rr)rr rr add_call_countingsrcCsNtt}||j|dt|dd}|||j|||fS)Nz Test tooltipToolTip test buttontext)rr addCleanuprtitlerpackZlift)Ztestobjtopbuttonr r r _make_top_and_button&s    r c@seZdZddZddZdS)ToolTipBaseTestcCst|\|_|_dSr r rrselfr r r setUp3szToolTipBaseTest.setUpcCsrtt}||jt|dd}|||j|t t|}| Wdn1sd0YdS)Nrr) rr rrrrZ assertRaisesNotImplementedErrorrshowtip)r$rrtooltipr r r test_base_class_is_unusable6s    z+ToolTipBaseTest.test_base_class_is_unusableN)__name__ __module__ __qualname__r%r)r r r r r!2sr!c@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS) HovertipTestcCst|\|_|_dSr r"r#r r r r%EszHovertipTest.setUpcCs|jo|jSr ) tipwindowZwinfo_viewabler$r(r r r is_tipwindow_shownHszHovertipTest.is_tipwindow_showncCsDt|jd}||j|||||||dSN ToolTip text)rrrhidetip assertFalser0r' assertTruer/r r r test_showtipKs   zHovertipTest.test_showtipcCspt|jd}||j||||||||j}||||| |j|dSr1) rrrr3r4r0r'r5r.ZassertIs)r$r(Zorig_tipwindowr r r test_showtip_twiceRs  zHovertipTest.test_showtip_twicecCs<t|jd}||j|||||dSr1)rrrr3r'r4r0r/r r r test_hidetip]s   zHovertipTest.test_hidetipcCst|jddd}||jt|j|_t|| ||jj ddddt| | || t |jjddS)Nr2Z hover_delayrxy)rrrr3rr'r updater4r0event_generater5 assertGreaterlenrr/r r r $test_showtip_on_mouse_enter_no_delayds  z1HovertipTest.test_showtip_on_mouse_enter_no_delaycCs(t|jddd}||jt|j|_t|| ||jj ddddt|| |t|jddd}||jt|j|_t|jj ddddt|jj ddddtt dt| | ||t|jjd|| |||jjgdS) Nr2dr9r:rr;g333333?)rrrr3rr'r r>r4r0r?timesleepr5r@rArZ assertEqual)r$Ztooltip1Ztooltip2r r r test_hover_with_delayos,     z"HovertipTest.test_hover_with_delaycCst|jddd}||jt|j|_t|jjddddt|jjddddt| | || t |jj ddS)Nr2r9r:rr;rD)rrrr3rr'r r>r?r4r0r@rArr/r r r test_hidetip_on_mouse_leaves  z(HovertipTest.test_hidetip_on_mouse_leaveN) r*r+r,r%r0r6r7r8rBrGrHr r r r r-Ds  $r-__main__) verbosity)Zidlelib.tooltiprrZ test.supportr functoolsrrEtkinterrrrZunittestr rrr ZTestCaser!r-r*mainr r r r s    \