î e fðã@s°dZddlZddlmZddlmZmZmZddlm Z ddlm Z ddl mZGdd „d ejƒZed kr¬ejd d d d ƒndS)z©Unittests for idlelib/SearchDialogBase.py Coverage: 99%. The only thing not covered is inconsequential -- testing skipping of suite when self.needwrapbutton is false. éN)Úrequires)ÚTkÚToplevelÚFrame)Ú SearchEngine)ÚSearchDialogBase)Ú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 úL/opt/alt/python34/lib64/python3.4/idlelib/idle_test/test_searchdialogbase.pyÚ setUpClasss zSearchDialogBaseTest.setUpClasscCs|jjƒ|`dS)N)r Zdestroy)r r r r Ú tearDownClass!s z"SearchDialogBaseTest.tearDownClasscCs:tj|jƒ|_tjd|jd|jƒ|_dS)Nr Úengine)Úserr rÚsdbrÚdialog)Úselfr r r ÚsetUp&szSearchDialogBaseTest.setUpcCs|jjƒdS)N)rÚclose)rr r r ÚtearDown*szSearchDialogBaseTest.tearDowncCs¤d|j_|jjdƒ|j|jjjƒdƒ|jjƒ|j|jjjƒdƒ|jjdddƒ|j|jjjƒdƒ|jjƒdS)NÚtextZnormalZ withdrawnZ searchphraseÚhello) rÚdefault_commandÚopenÚ assertEqualÚtopÚstaterÚentÚget)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) rrÚ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_t|jƒ|j_|jjddƒ\}}||ddƒ|j|jƒdƒ|j ƒ}|t |dƒdƒ|t |dƒdƒ|t |dƒdƒ|t |d ƒdƒ||jjdƒdS) NrzTest:rrÚrowÚcolumnéZrowspanZ columnspan) rrr'rr rZ make_entryÚassertInr Z grid_infoÚint)rZequalÚentryÚlabelZegir r r Útest_make_entryJs   z$SearchDialogBaseTest.test_make_entrycCsId|j_|jjdƒ|jjƒ|j|jjjƒdƒdS)Nrr)rr'rZsetpatr"r*rr )rr r r Útest_create_entriesYs  z(SearchDialogBaseTest.test_create_entriescCs–d|j_t|jƒ|j_|jjƒ\}}|j|dƒ|j|tƒ|jjdƒ\}}|j|ddƒ|j|tƒdS)NrÚZ testlabelr) rr'rr rZ make_framerZassertIsInstancer)rÚframer-r r r Útest_make_frame_s z$SearchDialogBaseTest.test_make_framecCs(t|jƒ|j_d|j_|ƒS)Nr)rr rrr')rÚmethr r r Úbtn_test_setupjs z#SearchDialogBaseTest.btn_test_setupc Cs|j}xødD]ð}x3|j|j|j|jfD]}|j|ƒq5W|j|jjƒ\}}x–t ||j ƒƒD]\}}|\}}|j |d|ƒ|j |j ƒ|ƒ|dkrØ|j ƒn |jƒ|j |j ƒd|ƒq}WqWdS)Nrr)r)rr))rZrevarZcasevarZwordvarZwrapvarÚsetr4rr#ÚzipÚ pack_slavesrr ZdeselectÚselect) rÚerÚvarr1ZoptionsÚspecÚbuttonr-r r r Útest_create_option_buttonsos  %"    z/SearchDialogBaseTest.test_create_option_buttonsc Cs xdD]û}|jj}|j|ƒ|j|jjƒ\}}|jƒ}x²t||ƒD]¡\}}|\}} |j|d| ƒ||kr]|j|j ƒ|ƒ||j ƒ|j|j ƒd|ƒ|d|j ƒ|j|j ƒ|ƒq]q]WqWdS)NFTrr))FT) rZbackvarr5r4rr$r7r6rr r8) rrr:r1ZothersZbuttonsr;r<Úvalr-r r r Útest_create_other_buttons€s      z.SearchDialogBaseTest.test_create_other_buttonscCs`t|jƒ|j_t|jjƒ|j_|jjd|jjƒ}|j|ddƒdS)NZTestr) rr rrrÚ buttonframeZ make_buttonrr)rZbtnr r r Útest_make_button“sz%SearchDialogBaseTest.test_make_buttoncCsa|jjƒd}x7|jjjƒD]#}|ddkr&|d}q&q&W|jd|ƒdS)Nr0rrZcommand)rr%r@Zwinfo_childrenr*)rZclosebuttoncommandZchildr r r Útest_create_command_buttons™s  z0SearchDialogBaseTest.test_create_command_buttonsN)Ú__name__Ú __module__Ú __qualname__Ú classmethodrrrrr!r&r.r/r2r4r=r?rArBr r r r r s           r Ú__main__Ú verbosityéÚexit)Ú__doc__ZunittestZ test.supportrZtkinterrrrZidlelibrrrrZidlelib.idle_test.mock_idlerZTestCaser rCÚmainr r r r Ús Š