<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
2ag                 @   st   d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z
 d dlmZ G dd de jZed	krpe jd
d
d dS )    N)requires)TkFrame)searchengine)
searchbase)Funcc               @   s   e Zd Zedd Zedd Zdd Zdd Zd	d
 Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )SearchDialogBaseTestc             C   s   t d t | _d S )NZgui)r   r   root)cls r   4/opt/alt/python36/lib64/python3.6/test_searchbase.py
setUpClass   s    zSearchDialogBaseTest.setUpClassc             C   s   | j j  | ` d S )N)r	   Zdestroy)r
   r   r   r   tearDownClass    s    
z"SearchDialogBaseTest.tearDownClassc             C   s&   t j| j| _tj| j| jd| _d S )N)r	   engine)seZSearchEnginer	   r   sdbZSearchDialogBasedialog)selfr   r   r   setUp%   s    zSearchDialogBaseTest.setUpc             C   s   | j j  d S )N)r   close)r   r   r   r   tearDown)   s    zSearchDialogBaseTest.tearDownc             C   sx   d | j _| j jd | j| j jj d | j j  | j| j jj d | j jddd | j| j jj d | j j  d S )NtextZnormalZ	withdrawnhello)Zsearchphrase)	r   default_commandopenassertEqualtopstater   entget)r   r   r   r   test_open_and_close,   s    
z(SearchDialogBaseTest.test_open_and_closec             C   s~   t  | j_t  | j_t  | j_t  | j_d | j_| jj  | j| jjj	 | j| jjj	 | j| jjj	 | j| jjj	 d S )N)
r   r   create_entriescreate_option_buttonscreate_other_buttonscreate_command_buttonsr   Zcreate_widgetsZ
assertTrueZcalled)r   r   r   r   test_create_widgets;   s    




z(SearchDialogBaseTest.test_create_widgetsc             C   s   | j }d| j_| j| j_| jjdd\}}||d d | j|j d |j }|t	|d d |t	|d d |t	|d d |t	|d	 d || jjd d S )
Nr   zTest:r   r   rowcolumn   ZrowspanZ
columnspan)
r   r   r&   r	   r   Z
make_entryassertInr   Z	grid_infoint)r   ZequalentrylabelZegir   r   r   test_make_entryI   s    
z$SearchDialogBaseTest.test_make_entryc             C   s@   | j | j_d| j_| jjd | jj  | j| jjj	 d d S )Nr   r   )
r	   r   r   r&   r   Zsetpatr!   r)   r   r   )r   r   r   r   test_create_entriesX   s
    

z(SearchDialogBaseTest.test_create_entriesc             C   sh   d| j _| j| j _| j j \}}| j|d | j|t | j jd\}}| j|d d | j|t d S )Nr    Z	testlabelr   )r   r&   r	   r   Z
make_framer   ZassertIsInstancer   )r   framer,   r   r   r   test_make_frame_   s    
z$SearchDialogBaseTest.test_make_framec             C   s   | j | j_d| j_| S )Nr   )r	   r   r   r&   )r   methr   r   r   btn_test_setupj   s    
z#SearchDialogBaseTest.btn_test_setupc       	      C   s   | j }xdD ]}x&|j|j|j|jfD ]}|j| q&W | j| jj\}}xBt	||j
 D ]0\}}|\}}| j|d | | j|j | qZW qW d S )Nr   r(   r   )r   r(   )r   ZrevarZcasevarZwordvarZwrapvarsetr3   r   r"   zippack_slavesr   r   )	r   er   varr0   optionsspecbuttonr,   r   r   r   test_create_option_buttonso   s    
z/SearchDialogBaseTest.test_create_option_buttonsc       
      C   s   xdD ]x}| j j}|j| | j| jj\}}|j }xFt||D ]8\}}|\}}	| j|d |	 ||krB| j|j	 | qBW qW d S )NFTr   )FT)
r   Zbackvarr4   r3   r   r#   r6   r5   r   r   )
r   r   r8   r0   ZothersZbuttonsr:   r;   valr,   r   r   r   test_create_other_buttons{   s    

z.SearchDialogBaseTest.test_create_other_buttonsc             C   s@   | j | j_t| jj| j_| jjd| jj}| j|d d d S )NZTestr   )r	   r   r   r   buttonframeZmake_buttonr   r   )r   Zbtnr   r   r   test_make_button   s    
z%SearchDialogBaseTest.test_make_buttonc             C   sR   | j | j_| jj  d}x(| jjj D ]}|d dkr&|d }q&W | jd| d S )Nr/   r   r   Zcommand)r	   r   r   r$   r?   Zwinfo_childrenr)   )r   ZclosebuttoncommandZchildr   r   r   test_create_command_buttons   s    

z0SearchDialogBaseTest.test_create_command_buttonsN)__name__
__module____qualname__classmethodr   r   r   r   r    r%   r-   r.   r1   r3   r<   r>   r@   rA   r   r   r   r   r      s   r   __main__   )	verbosityexit)ZunittestZtest.supportr   Ztkinterr   r   Zidlelibr   r   r   r   Zidlelib.idle_test.mock_idler   ZTestCaser   rB   mainr   r   r   r   <module>   s    