<!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>
î
e fð  ã               @   s°   d  Z  d d l Z d d l m Z d d l m Z m Z m Z d d l m	 Z
 d d l m Z d d l m Z Gd d	 „  d	 e j ƒ Z e d
 k r¬ e j d d d d ƒ n  d S)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Ä   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   úL/opt/alt/python34/lib64/python3.4/idlelib/idle_test/test_searchdialogbase.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 d |  j d |  j ƒ |  _ d  S)Nr
   Úengine)Úser   r
   r   Úsdbr   Ú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   s¤   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	withdrawnZsearchphraseÚhello)	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 _ t |  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
   r   Z
make_entryÚassertInr    Z	grid_infoÚint)r   ZequalÚentryÚlabelZegir   r   r   Útest_make_entryJ   s    	z$SearchDialogBaseTest.test_make_entryc             C   sI   d |  j  _ |  j j d ƒ |  j  j ƒ  |  j |  j  j j ƒ  d ƒ d  S)Nr   r   )r   r'   r   Zsetpatr"   r*   r   r    )r   r   r   r   Útest_create_entriesY   s    z(SearchDialogBaseTest.test_create_entriesc             C   s–   d |  j  _ t |  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
   r   Z
make_framer   ZassertIsInstancer   )r   Úframer-   r   r   r   Útest_make_frame_   s    z$SearchDialogBaseTest.test_make_framec             C   s(   t  |  j ƒ |  j _ d |  j _ | ƒ  S)Nr   )r   r
   r   r   r'   )r   Úmethr   r   r   Úbtn_test_setupj   s    z#SearchDialogBaseTest.btn_test_setupc       	      C   s  |  j  } xø d D]ð } x3 | j | j | j | j f D] } | j | ƒ q5 W|  j |  j j ƒ \ } } x– t	 | | j
 ƒ  ƒ D] \ } } | \ } } |  j | d | ƒ |  j | j ƒ  | ƒ | d k rØ | j ƒ  n
 | j ƒ  |  j | j ƒ  d | ƒ q} Wq Wd  S)Nr   r)   r   )r   r)   )r   ZrevarZcasevarZwordvarZwrapvarÚsetr4   r   r#   ÚzipÚpack_slavesr   r    ZdeselectÚselect)	r   Úer   Úvarr1   ZoptionsÚspecÚbuttonr-   r   r   r   Útest_create_option_buttonso   s    	%"
z/SearchDialogBaseTest.test_create_option_buttonsc       
      C   s
  xd D]û } |  j  j } | j | ƒ |  j |  j j ƒ \ } } | j ƒ  } x² t | | ƒ D]¡ \ } } | \ } }	 |  j | d |	 ƒ | | k r] |  j | j	 ƒ  | ƒ | | j
 ƒ  |  j | j	 ƒ  d | ƒ | d | j
 ƒ  |  j | j	 ƒ  | ƒ q] q] Wq Wd  S)NFTr   r)   )FT)r   Zbackvarr5   r4   r   r$   r7   r6   r   r    r8   )
r   r   r:   r1   ZothersZbuttonsr;   r<   Úvalr-   r   r   r   Útest_create_other_buttons€   s    z.SearchDialogBaseTest.test_create_other_buttonsc             C   s`   t  |  j ƒ |  j _ t |  j j ƒ |  j _ |  j j d |  j j ƒ } |  j | d d ƒ d  S)NZTestr   )	r   r
   r   r   r   ÚbuttonframeZmake_buttonr   r   )r   Zbtnr   r   r   Útest_make_button“   s    z%SearchDialogBaseTest.test_make_buttonc             C   sa   |  j  j ƒ  d } x7 |  j  j j ƒ  D]# } | d d k r& | d } q& q& W|  j d | ƒ d  S)Nr0   r   r   Zcommand)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/   r2   r4   r=   r?   rA   rB   r   r   r   r   r	      s   r	   Ú__main__Ú	verbosityé   Úexit)Ú__doc__ZunittestZtest.supportr   Ztkinterr   r   r   Zidlelibr   r   r   r   Zidlelib.idle_test.mock_idler   ZTestCaser	   rC   Úmainr   r   r   r   Ú<module>   s   Š