3 Õì2aø-ã@s"ddlmZddlZddlmZddlmZddlZddlmZddl m Z Gdd„dej ƒZ Gd d „d ej ƒZ Gd d „d ej ƒZejZGd d„dej ƒZGdd„dej ƒZGdd„dej ƒZGdd„dej ƒZGdd„dej ƒZGdd„dej ƒZGdd„dej ƒZedk�rejddd�dS)é)ÚqueryN)Úrequires)ÚTk)Úmock)ÚVarc@sBeZdZGdd„dƒZdd„Zdd„Zdd„Zd d „Zd d „Zd S)Ú QueryTestc@sFeZdZejjZejjZejjZeƒZ iZ dd„Z dd„Z dd„Z dS)zQueryTest.Dummy_QuerycCs&|jj|ƒd|jd<d|_d|_dS)NÚÚtextF)ÚentryÚsetÚ entry_errorÚresultÚ destroyed)ÚselfÚ dummy_entry©rú//opt/alt/python36/lib64/python3.6/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Úcancelrr r rrrrrrrÚ Dummy_QuerysrcCsD|jdƒ}|j|jƒdƒ|j|j|jfdƒ|jd|jdƒdS)Nú Fz blank liner )NF)rÚ assertEqualrr rÚassertInr )rÚdialogrrrÚtest_entry_ok_blank-s zQueryTest.test_entry_ok_blankcCsD|jdƒ}|j}||jƒdƒ||j|jfdƒ||jddƒdS)Nz good ÚgoodFr r)NF)rr rr rr )rr"ÚEqualrrrÚtest_entry_ok_good3s  zQueryTest.test_entry_ok_goodcCsT|jdƒ}tjƒ|j_|j|jƒdƒ|j|jjjƒ|j`|j|j |j fdƒdS)NrF)NF) rrÚMockr Z focus_setr rÚ assertTrueÚcalledr r)rr"rrrÚ test_ok_blank:s   zQueryTest.test_ok_blankcCs2|jdƒ}|j|jƒdƒ|j|j|jfdƒdS)Nr$T)r$T)rr rr r)rr"rrrÚ test_ok_goodBs zQueryTest.test_ok_goodcCs2|jdƒ}|j|jƒdƒ|j|j|jfdƒdS)Nzdoes not matterT)NT)rr rr r)rr"rrrÚ test_cancelGs zQueryTest.test_cancelN) rrrrr#r&r*r+r,rrrrrs rc@s:eZdZGdd„dƒZdd„Zdd„Zdd„Zd d „Zd S) ÚSectionNameTestc@s4eZdZejjZdgZeƒZiZ dd„Z dd„Z dS)z!SectionNameTest.Dummy_SectionNameÚusedcCs|jj|ƒd|jd<dS)Nrr )r r r )rrrrrrUs z*SectionNameTest.Dummy_SectionName.__init__cCs||jd<dS)Nr )r )rrrrrrXsz+SectionNameTest.Dummy_SectionName.showerrorN) rrrrÚ SectionNamerÚ used_namesrr r rrrrrrÚDummy_SectionNamePs r1cCs0|jdƒ}|j|jƒdƒ|jd|jdƒdS)Nrzno namer )r1r rr!r )rr"rrrÚtest_blank_section_name[s z'SectionNameTest.test_blank_section_namecCs0|jdƒ}|j|jƒdƒ|jd|jdƒdS)Nr.Zuser )r1r rr!r )rr"rrrÚtest_used_section_name`s z&SectionNameTest.test_used_section_namecCs4|jddƒ}|j|jƒdƒ|jd|jdƒdS)Nr$ézlonger than 30r )r1r rr!r )rr"rrrÚtest_long_section_nameesz&SectionNameTest.test_long_section_namecCs0|jdƒ}|j|jƒdƒ|j|jddƒdS)Nz good r$r r)r1r rr )rr"rrrÚtest_good_section_namejs z&SectionNameTest.test_good_section_nameN)rrrr1r2r3r5r6rrrrr-Ms  r-c@s:eZdZGdd„dƒZdd„Zdd„Zdd„Zd d „Zd S) ÚModuleNameTestc@s2eZdZejjZdZeƒZiZ dd„Z dd„Z dS)zModuleNameTest.Dummy_ModuleNamercCs|jj|ƒd|jd<dS)Nrr )r r r )rrrrrrxs z(ModuleNameTest.Dummy_ModuleName.__init__cCs||jd<dS)Nr )r )rrrrrr{sz)ModuleNameTest.Dummy_ModuleName.showerrorN) rrrrÚ ModuleNamerÚtext0rr r rrrrrrÚDummy_ModuleNamess r:cCs0|jdƒ}|j|jƒdƒ|jd|jdƒdS)Nrzno namer )r:r rr!r )rr"rrrÚtest_blank_module_name~s z%ModuleNameTest.test_blank_module_namecCs0|jdƒ}|j|jƒdƒ|jd|jdƒdS)NZ __name_xyz123_should_not_exist__z not foundr )r:r rr!r )rr"rrrÚtest_bogus_module_nameƒs z%ModuleNameTest.test_bogus_module_namecCs0|jdƒ}|j|jƒdƒ|jd|jdƒdS)NÚ itertoolsz source-basedr )r:r rr!r )rr"rrrÚtest_c_source_nameˆs z!ModuleNameTest.test_c_source_namecCs4|jdƒ}|j|jƒjdƒƒ|j|jddƒdS)NÚidlelibz __init__.pyr r)r:r(rÚendswithr r )rr"rrrÚtest_good_module_name�s z$ModuleNameTest.test_good_module_nameN)rrrr:r;r<r>rArrrrr7ps  r7c@s"eZdZGdd„dƒZdd„ZdS)ÚHelpsourceBrowsefileTestc@seZdZejjZeƒZdS)z)HelpsourceBrowsefileTest.Dummy_HelpSourceN)rrrrÚ HelpSourceÚ browse_filerÚpathvarrrrrÚDummy_HelpSourcešsrFc Cs�|jƒ}x‚ddd„dfddd„tfddd„dfddd„tffD]J\}}}|jƒ�2|jj|ƒ||_|jƒ|j|jjƒ|ƒWdQRXq>WdS)NrcSsdS)Nrr)ÚaÚbÚcrrrÚ¥szBHelpsourceBrowsefileTest.test_file_replaces_path..cSstS)N)Ú__file__)rGrHrIrrrrJ¦sZhtestcSsdS)Nrr)rGrHrIrrrrJ§scSstS)N)rK)rGrHrIrrrrJ¨s) rFrKÚsubTestrEr Z askfilenamerDr Úget)rr"ÚpathÚfuncr rrrÚtest_file_replaces_pathžs     z0HelpsourceBrowsefileTest.test_file_replaces_pathN)rrrrFrPrrrrrB—srBc@sFeZdZGdd„dƒZedd„ƒZdd„Zdd„Zd d „Zd d „Z d S)ÚHelpsourcePathokTestc@s0eZdZejjZeƒZiZdd„Z ddd„Z dS)z%HelpsourcePathokTest.Dummy_HelpSourcecCs|jj|ƒd|jd<dS)Nrr )rNr Ú path_error)rZ dummy_pathrrrr·s z.HelpsourcePathokTest.Dummy_HelpSource.__init__NcCs||jd<dS)Nr )rR)rrZwidgetrrrrºsz/HelpsourcePathokTest.Dummy_HelpSource.showerror)N) rrrrrCÚpath_okrrNrRrrrrrrrF³s rFcCs tt_dS)N)Ú orig_platformrÚplatform)ÚclsrrrÚ tearDownClass½sz"HelpsourcePathokTest.tearDownClasscCs0|jdƒ}|j|jƒdƒ|jd|jdƒdS)Nrz no help filer )rFr rSr!rR)rr"rrrÚtest_path_ok_blankÁs z'HelpsourcePathokTest.test_path_ok_blankcCs4|jtdƒ}|j|jƒdƒ|jd|jdƒdS)Nz bad-bad-badz not existr )rFrKr rSr!rR)rr"rrrÚtest_path_ok_badÆsz%HelpsourcePathokTest.test_path_ok_badc Csd|jdƒ}|j}xNdD]F}|jƒ�4|jj|ƒ|j|jƒ|ƒ|j|jddƒWdQRXqWdS)Nrú www.py.orgú http://py.orgr )rZr[)rFr rLrNr rSrR)rr"r%ZurlrrrÚtest_path_ok_webËs    z%HelpsourcePathokTest.test_path_ok_webc Csl|jdƒ}x\dD]T\}}|jƒ�>|t_|jjtƒ|j|jƒ|tƒ|j|j ddƒWdQRXqWdS) NrÚdarwinúfile://Úotherr ©r]r^©r_r)r`ra) rFrLrrUrNr rKr rSrR)rr"rUÚprefixrrrÚtest_path_ok_fileÔs   z&HelpsourcePathokTest.test_path_ok_fileN) rrrrFÚ classmethodrWrXrYr\rcrrrrrQ°s   rQc@s"eZdZGdd„dƒZdd„ZdS)ÚHelpsourceEntryokTestc@s,eZdZejjZiZiZdd„Zdd„Z dS)z&HelpsourceEntryokTest.Dummy_HelpSourcecCs|jS)N)Úname)rrrrÚitem_okåsz.HelpsourceEntryokTest.Dummy_HelpSource.item_okcCs|jS)N)rN)rrrrrSçsz.HelpsourceEntryokTest.Dummy_HelpSource.path_okN) rrrrrCrr rRrgrSrrrrrFás rFc CsR|jƒ}xDdD]<\}}}|jƒ�$|||_|_|j|jƒ|ƒWdQRXqWdS) Núdoc.txtÚdoc©NNN©NrhN©riNN©rirh©rirhrm)rjrkrlrn)rFrLrfrNr r)rr"rfrNr rrrÚtest_entry_ok_helpsourceês z.HelpsourceEntryokTest.test_entry_ok_helpsourceN)rrrrFrorrrrreÞs rec@sDeZdZedd„ƒZedd„ƒZdd„Zdd„Zd d „Zd d „Z d S)Ú QueryGuiTestcCsBtdƒtƒ|_}|jjƒtj|dddd�|_tjƒ|j_ dS)NÚguiZTESTZtestT)Ú_utest) rrÚrootÚwithdrawrrr"rr'r)rVrsrrrÚ setUpClassùs   zQueryGuiTest.setUpClasscCs|j`|`|jjƒ|`dS)N)r"rrs)rVrrrrWs zQueryGuiTest.tearDownClasscCs(|jjjddƒd|j_|jjjƒdS)NrÚend)r"r Údeleter rZ reset_mock)rrrrÚsetUpszQueryGuiTest.setUpcCs>|j}|jjddƒ|jjƒ|j|jdƒ|j|jj ƒdS)NrÚabc) r"r ÚinsertÚ button_okÚinvoker r r(rr))rr"rrrÚ test_click_ok s  zQueryGuiTest.test_click_okcCs0|j}|jjƒ|j|jdƒ|j|jjƒdS)N)r"r{r|r r Z assertFalserr))rr"rrrÚtest_click_blanks zQueryGuiTest.test_click_blankcCs>|j}|jjddƒ|jjƒ|j|jdƒ|j|jj ƒdS)Nrry) r"r rzZ button_cancelr|r r r(rr))rr"rrrÚtest_click_cancels  zQueryGuiTest.test_click_cancelN) rrrrdrurWrxr}r~rrrrrrp÷s   rpc@s eZdZedd„ƒZdd„ZdS)ÚSectionnameGuiTestcCs tdƒdS)Nrq)r)rVrrrru$szSectionnameGuiTest.setUpClasscCsptƒ}|jƒtj|dddhdd�}|j}|j|jdhƒ|jjddƒ|jj ƒ|j|j dƒ~|j ƒ~dS)NÚTÚtryT)rrrZokay) rrtrr/r r0r rzr{r|r r)rrsr"r%rrrÚtest_click_section_name(s z*SectionnameGuiTest.test_click_section_nameN)rrrrdrurƒrrrrr€"s r€c@s eZdZedd„ƒZdd„ZdS)ÚModulenameGuiTestcCs tdƒdS)Nrq)r)rVrrrru8szModulenameGuiTest.setUpClasscCsntƒ}|jƒtj|ddddd�}|j|jdƒ|j|jjƒdƒ|jj ƒ|j |j j dƒƒ~|j ƒ~dS)Nr�r‚r?T)rrz __init__.py)rrtrr8r r9r rMr{r|r(r r@r)rrsr"rrrÚtest_click_module_name<s z(ModulenameGuiTest.test_click_module_nameN)rrrrdrur…rrrrr„6s r„c@s eZdZedd„ƒZdd„ZdS)ÚHelpsourceGuiTestcCs tdƒdS)Nrq)r)rVrrrruKszHelpsourceGuiTest.setUpClasscCsˆtƒ}|jƒtj|ddtdd�}|j}||jjƒdƒ||jjƒtƒ|j j ƒt j dkr`dnd}||j d|tfƒ~|jƒ~dS)Nr�Z__test__T)ZmenuitemÚfilepathrrr]zfile://r)rrtrrCrKr r rMrNr{r|ÚsysrUr r)rrsr"r%rbrrrÚtest_click_help_sourceOs   z(HelpsourceGuiTest.test_click_help_sourceN)rrrrdrur‰rrrrr†Is r†Ú__main__éF)Ú verbosityÚexit)r?rZunittestZ test.supportrZtkinterrrˆrZidlelib.idle_test.mock_tkrZTestCaserr-r7rUrTrBrQrerpr€r„r†rÚmainrrrrÚ s&     5#%.+