£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<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)zUnittests 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   