B „ fã@sˆdZddlZddlmZddlmZmZmZddlm Z ddl m Z ddl m ZddlmZGd d „d ejƒZed kr„ejd d d dS)zTest searchbase, coverage 98%.éN)Úrequires)ÚTextÚTkÚToplevel)ÚFrame)Ú searchengine)Ú searchbase)ÚFuncc@s„eZdZedd„ƒZedd„ƒZdd„Zdd„Zd d „Zd d „Z d d„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„ZdS)ÚSearchDialogBaseTestcCstdƒtƒ|_dS)NZgui)rrÚroot)Úcls©r úF/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_searchbase.pyÚ setUpClassszSearchDialogBaseTest.setUpClasscCs|j ¡|j ¡|`dS)N)r Úupdate_idletasksÚdestroy)r r r rÚ tearDownClass!s  z"SearchDialogBaseTest.tearDownClasscCs&t |j¡|_tj|j|jd|_dS)N)r Úengine)ÚseZ SearchEnginer rÚsdbZSearchDialogBaseÚdialog)Úselfr r rÚsetUp'szSearchDialogBaseTest.setUpcCs|j ¡dS)N)rÚclose)rr r rÚtearDown+szSearchDialogBaseTest.tearDowncCsd|j_t|jƒ}t|ƒ}|j |¡| |jj ¡d¡|j  ¡| |jj ¡d¡|jj|dd| |jj   ¡d¡|  ¡|  ¡dS)NZnormalZ withdrawnÚhello)Z searchphrase)rÚdefault_commandrr rÚopenÚ assertEqualÚtopÚstaterÚentÚgetrr)rZtoplevelÚtextr r rÚtest_open_and_close.s   z(SearchDialogBaseTest.test_open_and_closecCs~tƒ|j_tƒ|j_tƒ|j_tƒ|j_d|j_|j ¡| |jjj ¡| |jjj ¡| |jjj ¡| |jjj ¡dS)N) r rÚcreate_entriesÚcreate_option_buttonsÚcreate_other_buttonsÚcreate_command_buttonsrZcreate_widgetsZ assertTrueZcalled)rr r rÚtest_create_widgets>s     z(SearchDialogBaseTest.test_create_widgetscCsª|j}d|j_|j|j_|j dd¡\}}||ddƒ| | ¡d¡| ¡}|t |dƒdƒ|t |dƒdƒ|t |dƒdƒ|t |d ƒdƒ||jjdƒdS) NrzTest:rr#ÚrowÚcolumnéZrowspanZ columnspan) rrr*r rZ make_entryÚassertInr"Z grid_infoÚint)rZequalÚentryÚlabelZegir r rÚtest_make_entryLs z$SearchDialogBaseTest.test_make_entrycCs@|j|j_d|j_|j d¡|j ¡| |jj  ¡d¡dS)Nrr) r rrr*rZsetpatr%r-r!r")rr r rÚtest_create_entries[s    z(SearchDialogBaseTest.test_create_entriescCsdd|j_|j|j_|j ¡\}}| |d¡| tt|ƒƒd¡|j d¡\}}| |dd¡dS)NrÚzZ testlabelr#)rr*r rZ make_framerÚstrÚtype)rÚframer0r r rÚtest_make_framebs  z$SearchDialogBaseTest.test_make_framecCs|j|j_d|j_|ƒS)Nr)r rrr*)rZmethr r rÚbtn_test_setupns z#SearchDialogBaseTest.btn_test_setupc Cs–|j}xŠdD]‚}x&|j|j|j|jfD]}| |¡q&W| |jj¡\}}xBt ||  ¡ƒD]0\}}|\}}|  |d|¡|  |  ¡|¡qZWq WdS)N)rr,r#) rZrevarZcasevarZwordvarZwrapvarÚsetr8rr&ÚzipÚ pack_slavesrr") rÚer Úvarr6ZoptionsÚspecÚbuttonr0r r rÚtest_create_option_buttonsss z/SearchDialogBaseTest.test_create_option_buttonsc Cs†x€dD]x}|jj}| |¡| |jj¡\}}| ¡}xFt||ƒD]8\}}|\}} | |d| ¡||krB| |  ¡|¡qBWqWdS)N)FTr#) rZbackvarr9r8rr'r;r:rr") rr r=r6ZothersZbuttonsr>r?Úvalr0r r rÚtest_create_other_buttonss  z.SearchDialogBaseTest.test_create_other_buttonscCs@|j|j_t|jjƒ|j_|j d|jj¡}| |dd¡dS)NZTestr#)r rrrÚ buttonframeZ make_buttonrr)rZbtnr r rÚtest_make_buttonŽs z%SearchDialogBaseTest.test_make_buttoncCsR|j|j_|j ¡d}x(|jj ¡D]}|ddkr&|d}q&W| d|¡dS)Nr3r#ZCloseZcommandr)r rrr(rCZwinfo_childrenr-)rZclosebuttoncommandZchildr r rÚtest_create_command_buttons”s    z0SearchDialogBaseTest.test_create_command_buttonsN)Ú__name__Ú __module__Ú __qualname__Ú classmethodrrrrr$r)r1r2r7r8r@rBrDrEr r r rr s    r Ú__main__é)Ú verbosityÚexit)Ú__doc__ZunittestZ test.supportrZtkinterrrrZ tkinter.ttkrZidlelibrrrrZidlelib.idle_test.mock_idler ZTestCaser rFÚmainr r r rÚs