B YI~d�@s�ddlZddlmZddlmZmZmZddlmZddl m Z ddl m Z ddlmZGdd �d ej�Zed kr�ejd d d �dS) �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.tearDowncCs�d|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 �varr6�options�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(rDZwinfo_childrenr-)rZclosebuttoncommandZchildr r r�test_create_command_buttons�s    z0SearchDialogBaseTest.test_create_command_buttonsN)�__name__� __module__� __qualname__� classmethodrrrrr$r)r1r2r7r8rArCrErFr r r rr s    r �__main__�)� verbosity�exit)ZunittestZ test.supportrZtkinterrrrZ tkinter.ttkrZidlelibrrrrZidlelib.idle_test.mock_idler ZTestCaser rG�mainr r r r�s