a  ze;@sdZddlZddlmZddlmZmZmZddlm Z ddl m Z ddl m ZddlmZGd d d ejZed krejd d d dS)zTest searchbase, coverage 98%.N)requires)TextTkToplevel)Frame) searchengine) searchbase)Funcc@seZdZeddZeddZddZddZd d Zd d Z d dZ ddZ ddZ ddZ ddZddZddZddZdS)SearchDialogBaseTestcCstdt|_dS)NZgui)rrrootclsrU/opt/bitninja-python-dojo/embedded/lib/python3.9/idlelib/idle_test/test_searchbase.py setUpClassszSearchDialogBaseTest.setUpClasscCs|j|j|`dSN)r update_idletasksdestroyr rrr tearDownClass!s  z"SearchDialogBaseTest.tearDownClasscCs&t|j|_tj|j|jd|_dS)N)r engine)seZ SearchEnginer rsdbZSearchDialogBasedialogselfrrrsetUp'szSearchDialogBaseTest.setUpcCs|jdSr)rcloserrrrtearDown+szSearchDialogBaseTest.tearDowncCsd|j_t|j}t|}|j|||jjd|j ||jjd|jj|dd||jj d| | dS)NZnormalZ withdrawnhello)Z searchphrase)rdefault_commandrr ropen assertEqualtopstaterentgetrr)rZtopleveltextrrrtest_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 dSr) r rcreate_entriescreate_option_buttonscreate_other_buttonscreate_command_buttonsrZcreate_widgetsZ assertTrueZcalledrrrrtest_create_widgets>s     z(SearchDialogBaseTest.test_create_widgetscCs|j}d|j_t|j|j_|jdd\}}||dd||d| }|t |dd|t |dd|t |dd|t |d d||jjddS) NrzTest:rr&rowcolumnZrowspanZ columnspan) r!rr-rr frameZ make_entryassertInr%Z grid_infoint)rZequalentrylabelZegirrrtest_make_entryLsz$SearchDialogBaseTest.test_make_entrycCsDt|j|j_d|j_|jd|j||jj ddS)Nrr) rr rr0r-rZsetpatr(r1r$r%rrrrtest_create_entries[s   z(SearchDialogBaseTest.test_create_entriescCshd|j_t|j|j_|j\}}||d|tt|d|jd\}}||dddS)NrzZ testlabelr&) rr-rr r0Z make_framer!strtype)rr0r4rrrtest_make_framebs z$SearchDialogBaseTest.test_make_framecCst|j|j_d|j_|S)Nr)rr rr0r-)rmethrrrbtn_test_setupnsz#SearchDialogBaseTest.btn_test_setupc Cs|j}dD]z}|j|j|j|jfD]}||q"||jj\}}t || D]0\}}|\}}| |d|| | |qRq dS)N)rr/r&) rZrevarZcasevarZwordvarZwrapvarsetr<rr)zip pack_slavesr!r%) rer#varr0optionsspecbuttonr4rrrtest_create_option_buttonsss z/SearchDialogBaseTest.test_create_option_buttonsc Cs~dD]t}|jj}||||jj\}}|}t||D]8\}}|\}} ||d| ||kr>|| |q>qdS)N)FTr&) rZbackvarr=r<rr*r?r>r!r%) rr#rAr0ZothersZbuttonsrCrDvalr4rrrtest_create_other_buttonss z.SearchDialogBaseTest.test_create_other_buttonscCsDt|j|j_t|jj|j_|jd|jj}||dddS)NZTestr&)rr rr0 buttonframeZ make_buttonrr!)rZbtnrrrtest_make_buttonsz%SearchDialogBaseTest.test_make_buttoncCsRt|j|j_|jd}|jjD]}|ddkr(|d}q(|d|dS)Nr7r&CloseZcommandr)rr rr0r+rHZwinfo_childrenr1)rZclosebuttoncommandchildrrrtest_create_command_buttonss   z0SearchDialogBaseTest.test_create_command_buttonsN)__name__ __module__ __qualname__ classmethodrrrrr'r,r5r6r:r<rErGrIrLrrrrr s     r __main__) verbosityexit)__doc__ZunittestZ test.supportrtkinterrrrZ tkinter.ttkrZidlelibrrrrZidlelib.idle_test.mock_idler ZTestCaser rMmainrrrrs