3  fg@sxdZddlZddlmZddlmZmZddlmZ ddlm Z ddl m Z Gdd d ejZed krtejd d d dS) zTest searchbase, coverage 98%.N)requires)TkFrame) searchengine) searchbase)Funcc@seZdZeddZeddZddZddZd d Zd d Z d dZ ddZ ddZ ddZ ddZddZddZddZdS)SearchDialogBaseTestcCstdt|_dS)NZgui)rrroot)clsr F/opt/alt/python36/lib64/python3.6/idlelib/idle_test/test_searchbase.py setUpClassszSearchDialogBaseTest.setUpClasscCs|jj|`dS)N)r Zdestroy)r r r r tearDownClass s z"SearchDialogBaseTest.tearDownClasscCs&tj|j|_tj|j|jd|_dS)N)r engine)seZ SearchEnginer rsdbZSearchDialogBasedialog)selfr r r setUp%szSearchDialogBaseTest.setUpcCs|jjdS)N)rclose)rr r r tearDown)szSearchDialogBaseTest.tearDowncCsxd|j_|jjd|j|jjjd|jj|j|jjjd|jjddd|j|jjjd|jjdS)NtextZnormalZ withdrawnhello)Z searchphrase) rdefault_commandopen assertEqualtopstaterentget)rr r r test_open_and_close,s  z(SearchDialogBaseTest.test_open_and_closecCs~t|j_t|j_t|j_t|j_d|j_|jj|j|jjj |j|jjj |j|jjj |j|jjj dS)N) rrcreate_entriescreate_option_buttonscreate_other_buttonscreate_command_buttonsrZcreate_widgetsZ assertTrueZcalled)rr r r test_create_widgets;s     z(SearchDialogBaseTest.test_create_widgetscCs|j}d|j_|j|j_|jjdd\}}||dd|j|jd|j}|t |dd|t |dd|t |dd|t |d d||jjddS) NrzTest:rrrowcolumnZrowspanZ columnspan) rrr&r rZ make_entryassertInrZ grid_infoint)rZequalentrylabelZegir r r test_make_entryIs z$SearchDialogBaseTest.test_make_entrycCs@|j|j_d|j_|jjd|jj|j|jjj ddS)Nrr) r rrr&rZsetpatr!r)rr)rr r r test_create_entriesXs    z(SearchDialogBaseTest.test_create_entriescCshd|j_|j|j_|jj\}}|j|d|j|t|jjd\}}|j|dd|j|tdS)NrZ testlabelr)rr&r rZ make_framerZassertIsInstancer)rframer,r r r test_make_frame_s   z$SearchDialogBaseTest.test_make_framecCs|j|j_d|j_|S)Nr)r rrr&)rmethr r r btn_test_setupjs z#SearchDialogBaseTest.btn_test_setupc Cs|j}xdD]}x&|j|j|j|jfD]}|j|q&W|j|jj\}}xBt ||j D]0\}}|\}}|j |d||j |j |qZWq WdS)Nrr(r)rr() rZrevarZcasevarZwordvarZwrapvarsetr3rr"zip pack_slavesrr) rervarr0Zoptionsspecbuttonr,r r r test_create_option_buttonsos z/SearchDialogBaseTest.test_create_option_buttonsc CsxdD]x}|jj}|j||j|jj\}}|j}xFt||D]8\}}|\}} |j|d| ||krB|j|j |qBWqWdS)NFTr)FT) rZbackvarr4r3rr#r6r5rr) rrr8r0ZothersZbuttonsr9r:valr,r r r test_create_other_buttons{s  z.SearchDialogBaseTest.test_create_other_buttonscCs@|j|j_t|jj|j_|jjd|jj}|j|dddS)NZTestr)r rrr buttonframeZ make_buttonrr)rZbtnr r r test_make_buttons z%SearchDialogBaseTest.test_make_buttoncCsR|j|j_|jjd}x(|jjjD]}|ddkr&|d}q&W|jd|dS)Nr/rrZcommand)r rrr$r>Zwinfo_childrenr))rZclosebuttoncommandZchildr r r test_create_command_buttonss    z0SearchDialogBaseTest.test_create_command_buttonsN)__name__ __module__ __qualname__ classmethodr rrrr r%r-r.r1r3r;r=r?r@r r r r rs    r__main__) verbosityexit)__doc__ZunittestZ test.supportrZtkinterrrZidlelibrrrrZidlelib.idle_test.mock_idlerZTestCaserrAmainr r r r s