a 9êdgZ<ã@szddlmZddlZddlmZddlmZmZddlZddlm Z ddl m Z Gdd„dej ƒZ Gd d „d ej ƒZGd d „d ej ƒZGd d„dej ƒZGdd„dej ƒZGdd„dej ƒZGdd„dej ƒZGdd„dej ƒZGdd„dej ƒZGdd„dej ƒZGdd„dej ƒZGdd„dej ƒZGdd „d ej ƒZGd!d"„d"ej ƒZGd#d$„d$ej ƒZed%krvejd&d'd(dS))é)ÚqueryN©Úrequires)ÚTkÚEND)Úmock)ÚVarc@sBeZdZGdd„dƒZdd„Zdd„Zdd„Zd d „Zd d „Zd S)Ú QueryTestc@s<eZdZejjZejjZejjZdd„Zdd„Z dd„Z dS)zQueryTest.Dummy_QuerycCs&t|d|_ddi|_d|_d|_dS)N©ÚvalueÚtextÚF)rÚentryÚ entry_errorÚresultÚ destroyed©ÚselfZ dummy_entry©rú8/usr/local/lib/python3.9/idlelib/idle_test/test_query.pyÚ__init__!s  zQueryTest.Dummy_Query.__init__cCs||jd<dS©Nr ©r©rÚmessagerrrÚ showerror&szQueryTest.Dummy_Query.showerrorcCs d|_dS©NT)r©rrrrÚdestroy(szQueryTest.Dummy_Query.destroyN) Ú__name__Ú __module__Ú __qualname__rÚQueryÚentry_okÚokÚcancelrrrrrrrÚ Dummy_Querys r&cCsD| d¡}| | ¡d¡| |j|jfd¡| d|jd¡dS)Nú ©NFz blank liner )r&Ú assertEqualr#rrÚassertInr©rÚdialogrrrÚtest_entry_ok_blank+s zQueryTest.test_entry_ok_blankcCsD| d¡}|j}|| ¡dƒ||j|jfdƒ||jddƒdS)Nú good Úgoodr(r r )r&r)r#rrr)rr,ÚEqualrrrÚtest_entry_ok_good1s  zQueryTest.test_entry_ok_goodcCsT| d¡}t ¡|j_| | ¡d¡| |jjj¡|j`| |j |j fd¡dS)Nr r() r&rÚMockrZ focus_setr)r$Ú assertTrueÚcalledrrr+rrrÚ test_ok_blank8s   zQueryTest.test_ok_blankcCs2| d¡}| | ¡d¡| |j|jfd¡dS)Nr/)r/T)r&r)r$rrr+rrrÚ test_ok_good@s zQueryTest.test_ok_goodcCs2| d¡}| | ¡d¡| |j|jfd¡dS)Nzdoes not matterr)r&r)r%rrr+rrrÚ test_cancelEs zQueryTest.test_cancelN) rr r!r&r-r1r5r6r7rrrrr s r c@s:eZdZGdd„dƒZdd„Zdd„Zdd„Zd d „Zd S) ÚSectionNameTestc@s*eZdZejjZdgZdd„Zdd„ZdS)z!SectionNameTest.Dummy_SectionNameÚusedcCst|d|_ddi|_dS©Nr r r ©rrrrrrrrQs z*SectionNameTest.Dummy_SectionName.__init__cCs||jd<dSrrrrrrrTsz+SectionNameTest.Dummy_SectionName.showerrorN) rr r!rÚ SectionNamer#Ú used_namesrrrrrrÚDummy_SectionNameNsr>cCs0| d¡}| | ¡d¡| d|jd¡dS©Nr'zno namer ©r>r)r#r*rr+rrrÚtest_blank_section_nameWs z'SectionNameTest.test_blank_section_namecCs0| d¡}| | ¡d¡| d|jd¡dS)Nr9Zuser r@r+rrrÚtest_used_section_name\s z&SectionNameTest.test_used_section_namecCs0| d¡}| | ¡d¡| d|jd¡dS)NZ goodgoodgoodgoodgoodgoodgoodgoodzlonger than 30r r@r+rrrÚtest_long_section_nameas z&SectionNameTest.test_long_section_namecCs0| d¡}| | ¡d¡| |jdd¡dS)Nr.r/r r )r>r)r#rr+rrrÚtest_good_section_namefs z&SectionNameTest.test_good_section_nameN)rr r!r>rArBrCrDrrrrr8Ks  r8c@s:eZdZGdd„dƒZdd„Zdd„Zdd„Zd d „Zd S) ÚModuleNameTestc@s(eZdZejjZdZdd„Zdd„ZdS)zModuleNameTest.Dummy_ModuleNamer cCst|d|_ddi|_dSr:r;rrrrrrs z(ModuleNameTest.Dummy_ModuleName.__init__cCs||jd<dSrrrrrrrusz)ModuleNameTest.Dummy_ModuleName.showerrorN) rr r!rÚ ModuleNamer#Útext0rrrrrrÚDummy_ModuleNameosrHcCs0| d¡}| | ¡d¡| d|jd¡dSr?©rHr)r#r*rr+rrrÚtest_blank_module_namexs z%ModuleNameTest.test_blank_module_namecCs0| d¡}| | ¡d¡| d|jd¡dS)NZ __name_xyz123_should_not_exist__z not foundr rIr+rrrÚtest_bogus_module_name}s z%ModuleNameTest.test_bogus_module_namecCs0| d¡}| | ¡d¡| d|jd¡dS)NÚ itertoolsz source-basedr rIr+rrrÚtest_c_source_name‚s z!ModuleNameTest.test_c_source_namecCsd| d¡}| | ¡ d¡¡| |jdd¡| d¡}| | ¡ d¡¡| |jdd¡dS)NÚidlelibú __init__.pyr r zos.pathzpath.py)rHr3r#Úendswithr)rr+rrrÚtest_good_module_name‡s   z$ModuleNameTest.test_good_module_nameN)rr r!rHrJrKrMrQrrrrrEls  rEc@s2eZdZGdd„dƒZdd„Zdd„Zdd„Zd S) ÚGotoTestc@s$eZdZejjZdd„Zdd„ZdS)zGotoTest.Dummy_ModuleNamecCst|d|_ddi|_dSr:r;rrrrr•s z"GotoTest.Dummy_ModuleName.__init__cCs||jd<dSrrrrrrr˜sz#GotoTest.Dummy_ModuleName.showerrorN)rr r!rÚGotor#rrrrrrrH“srHcCs0| d¡}| | ¡d¡| d|jd¡dS)NÚaznot a base 10 integerr rIr+rrrÚtest_bogus_goto›s zGotoTest.test_bogus_gotocCs0| d¡}| | ¡d¡| d|jd¡dS)NÚ0znot a positive integerr rIr+rrrÚ test_bad_goto s zGotoTest.test_bad_gotocCs0| d¡}| | ¡d¡| |jdd¡dS)NÚ1ér r )rHr)r#rr+rrrÚtest_good_goto¥s zGotoTest.test_good_gotoN)rr r!rHrUrWrZrrrrrRsrRc@s"eZdZGdd„dƒZdd„ZdS)ÚHelpsourceBrowsefileTestc@seZdZejjZeƒZdS)z)HelpsourceBrowsefileTest.Dummy_HelpSourceN)rr r!rÚ HelpSourceÚ browse_filerÚpathvarrrrrÚDummy_HelpSource°sr_c Cs | ¡}ddd„dfddd„tfddd„dfddd„tffD]^\}}}| ¡<|j |¡||_| ¡| |j ¡|¡Wdƒq<1s0Yq»ózBHelpsourceBrowsefileTest.test_file_replaces_path..cSstS©N©Ú__file__rarrrrd¼reZhtestcSsdSr`rrarrrrd½recSstSrfrgrarrrrd¾re) r_rhÚsubTestr^ÚsetZ askfilenamer]r)Úget)rr,ÚpathÚfuncrrrrÚtest_file_replaces_path´s    ü  z0HelpsourceBrowsefileTest.test_file_replaces_pathN)rr r!r_rnrrrrr[­sr[c@sLeZdZGdd„dƒZejZedd„ƒZdd„Z dd„Z d d „Z d d „Z d S)ÚHelpsourcePathokTestc@s&eZdZejjZdd„Zddd„ZdS)z%HelpsourcePathokTest.Dummy_HelpSourcecCst|d|_ddi|_dSr:)rrlÚ path_error)rZ dummy_pathrrrrËs z.HelpsourcePathokTest.Dummy_HelpSource.__init__NcCs||jd<dSr)rp)rrZwidgetrrrrÎsz/HelpsourcePathokTest.Dummy_HelpSource.showerror)N)rr r!rr\Úpath_okrrrrrrr_Ésr_cCs |jt_dSrf)Ú orig_platformrÚplatform©ÚclsrrrÚ tearDownClassÒsz"HelpsourcePathokTest.tearDownClasscCs0| d¡}| | ¡d¡| d|jd¡dS)Nr'z no help filer )r_r)rqr*rpr+rrrÚtest_path_ok_blankÖs z'HelpsourcePathokTest.test_path_ok_blankcCs4| td¡}| | ¡d¡| d|jd¡dS)Nz bad-bad-badz not existr )r_rhr)rqr*rpr+rrrÚtest_path_ok_badÛsz%HelpsourcePathokTest.test_path_ok_badc Cst| d¡}|j}dD]Z}| ¡>|j |¡| | ¡|¡| |jdd¡Wdƒq1sd0YqdS)Nr )z www.py.orgz http://py.orgr )r_r)rirlrjrqrp)rr,r0ÚurlrrrÚtest_path_ok_webàs   z%HelpsourcePathokTest.test_path_ok_webc Cs|| d¡}dD]h\}}| ¡H|t_|j t¡| | ¡|t¡| |j dd¡Wdƒq1sl0YqdS)Nr ))Údarwinúfile://)Úotherr r ) r_rirrsrlrjrhr)rqrp)rr,rsÚprefixrrrÚtest_path_ok_fileés    z&HelpsourcePathokTest.test_path_ok_fileN) rr r!r_rrsrrÚ classmethodrvrwrxrzrrrrrroÆs  roc@s"eZdZGdd„dƒZdd„ZdS)ÚHelpsourceEntryokTestc@s,eZdZejjZiZiZdd„Zdd„Z dS)z&HelpsourceEntryokTest.Dummy_HelpSourcecCs|jSrf)ÚnamerrrrÚitem_okúsz.HelpsourceEntryokTest.Dummy_HelpSource.item_okcCs|jSrf)rlrrrrrqüsz.HelpsourceEntryokTest.Dummy_HelpSource.path_okN) rr r!rr\r#rrprƒrqrrrrr_ös r_c Csb| ¡}dD]P\}}}| ¡.|||_|_| | ¡|¡Wdƒq 1sR0Yq dS)N))NNN)Núdoc.txtN)ÚdocNN)r…r„)r…r„)r_rir‚rlr)r#)rr,r‚rlrrrrÚtest_entry_ok_helpsourceÿs  z.HelpsourceEntryokTest.test_entry_ok_helpsourceN)rr r!r_r†rrrrrós rc@s2eZdZGdd„dƒZdd„Zdd„Zdd„Zd S) ÚCustomRunCLIargsokTestc@s$eZdZejjZdd„Zdd„ZdS)z&CustomRunCLIargsokTest.Dummy_CustomRuncCst|d|_ddi|_dSr:r;rrrrrs z/CustomRunCLIargsokTest.Dummy_CustomRun.__init__cCs||jd<dSrrrrrrrsz0CustomRunCLIargsokTest.Dummy_CustomRun.showerrorN)rr r!rÚ CustomRunÚ cli_args_okrrrrrrÚDummy_CustomRunsrŠcCs| d¡}| | ¡g¡dS)Nr')rŠr)r‰r+rrrÚtest_blank_argss z&CustomRunCLIargsokTest.test_blank_argscCs0| d¡}| | ¡d¡| d|jd¡dS)Nz'no-closing-quotez No closingr )rŠr)r‰r*rr+rrrÚtest_invalid_argss z(CustomRunCLIargsokTest.test_invalid_argscCsHgd¢}| d |¡d¡}| | ¡|dg¡| |jdd¡dS)N)z-nZ10z --verbosez-pz/pathz--namer'z "my name"zmy namer r )rŠÚjoinr)r‰r)rÚargsr,rrrÚtest_good_args sz%CustomRunCLIargsokTest.test_good_argsN)rr r!rŠr‹rŒrrrrrr‡ sr‡c@s"eZdZGdd„dƒZdd„ZdS)ÚCustomRunEntryokTestc@s&eZdZejjZiZeƒZdd„Z dS)z$CustomRunEntryokTest.Dummy_CustomRuncCs|jSrf)Úcli_argsrrrrr‰.sz0CustomRunEntryokTest.Dummy_CustomRun.cli_args_okN) rr r!rrˆr#rrÚ restartvarr‰rrrrrŠ*srŠc Cs„| ¡}dD]r}|j |¡ddgdg|fffD]L\}}|j||d&||_| | ¡|¡Wdƒq01sr0Yq0q dS)N>FT)NNzmy arg)Úrestartr‘)rŠr’rjrir‘r)r#)rr,r“r‘rrrrÚtest_entry_ok_customrun1s ÿ z,CustomRunEntryokTest.test_entry_ok_customrunN)rr r!rŠr”rrrrr'src@sDeZdZedd„ƒZedd„ƒZdd„Zdd„Zd d „Zd d „Z d S)Ú QueryGuiTestcCsBtdƒtƒ|_}|j ¡tj|dddd|_t ¡|j_ dS)NÚguiZTESTÚtestT©Ú_utest) rrÚrootÚwithdrawrr"r,rr2r)ruršrrrÚ setUpClass@s   zQueryGuiTest.setUpClasscCs|j`|`|j ¡|`dSrf)r,rršrtrrrrvHs zQueryGuiTest.tearDownClasscCs(|jj dd¡d|j_|jj ¡dS)NrÚend)r,rÚdeleterrZ reset_mockrrrrÚsetUpOszQueryGuiTest.setUpcCs>|j}|j dd¡|j ¡| |jd¡| |jj ¡dS©NrÚabc) r,rÚinsertÚ button_okÚinvoker)rr3rr4r+rrrÚ test_click_okTs  zQueryGuiTest.test_click_okcCs0|j}|j ¡| |jd¡| |jj¡dSrf)r,r£r¤r)rZ assertFalserr4r+rrrÚtest_click_blank[s zQueryGuiTest.test_click_blankcCs>|j}|j dd¡|j ¡| |jd¡| |jj ¡dSr ) r,rr¢Z button_cancelr¤r)rr3rr4r+rrrÚtest_click_cancelas  zQueryGuiTest.test_click_cancelN) rr r!r€rœrvrŸr¥r¦r§rrrrr•>s  r•c@s eZdZedd„ƒZdd„ZdS)ÚSectionnameGuiTestcCs tdƒdS©Nr–rrtrrrrœkszSectionnameGuiTest.setUpClasscCsltƒ}| ¡tj|dddhdd}|j}| |jdh¡|j dd¡|j  ¡| |j d¡|  ¡dS)NÚTÚtr¡Tr˜rZokay) rr›rr<r)r=rr¢r£r¤rr)rršr,r0rrrÚtest_click_section_nameos z*SectionnameGuiTest.test_click_section_nameN)rr r!r€rœr¬rrrrr¨is r¨c@s eZdZedd„ƒZdd„ZdS)ÚModulenameGuiTestcCs tdƒdSr©rrtrrrrœ}szModulenameGuiTest.setUpClasscCsjtƒ}| ¡tj|ddddd}| |jd¡| |j ¡d¡|j  ¡|  |j   d¡¡|  ¡dS)Nrªr«rNTr˜rO)rr›rrFr)rGrrkr£r¤r3rrPr©rršr,rrrÚtest_click_module_names z(ModulenameGuiTest.test_click_module_nameN©rr r!r€rœr¯rrrrr­{s r­c@s eZdZedd„ƒZdd„ZdS)Ú GotoGuiTestcCs tdƒdSr©rrtrrrrœŽszGotoGuiTest.setUpClasscCsRtƒ}| ¡tj|dddd}|j dd¡|j ¡| |j d¡|  ¡dS)Nrªr«Tr˜rZ22é) rr›rrSrr¢r£r¤r)rrr®rrrr¯’s z"GotoGuiTest.test_click_module_nameNr°rrrrr±Œs r±c@s eZdZedd„ƒZdd„ZdS)ÚHelpsourceGuiTestcCs tdƒdSr©rrtrrrrœžszHelpsourceGuiTest.setUpClasscCs„tƒ}| ¡tj|ddtdd}|j}||j ¡dƒ||j ¡tƒ|j   ¡t j dkr`dnd}||j d|tfƒ| ¡dS)NrªZ__test__T)ZmenuitemÚfilepathr™r{r|r )rr›rr\rhr)rrkrlr£r¤Úsysrsrr)rršr,r0r~rrrÚtest_click_help_source¢s ÿ z(HelpsourceGuiTest.test_click_help_sourceN)rr r!r€rœr¶rrrrr³œs r³c@s eZdZedd„ƒZdd„ZdS)ÚCustomRunGuiTestcCs tdƒdSr©rrtrrrrœ²szCustomRunGuiTest.setUpClasscCsptƒ}| ¡tj|dddgdd}| |j ¡d¡|j td¡|j   ¡| |j gd¢df¡|  ¡dS) NZTitlerTúb=1T)r‘r™za b=1z c)rTr¸rc) rr›rrˆr)rrkr¢rr£r¤rrr®rrrÚtest_click_args¶sÿ z CustomRunGuiTest.test_click_argsN)rr r!r€rœr¹rrrrr·°s r·Ú__main__éF)Ú verbosityÚexit)rNrZunittestZ test.supportrÚtkinterrrrµrZidlelib.idle_test.mock_tkrZTestCaser r8rErRr[rorr‡rr•r¨r­r±r³r·rÚmainrrrrÚ s.    3!$-+