B
    \                 @   s   d Z 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 ddlmZ G dd dZG d	d
 d
ejZedkrejdd dS )z Test autocomplete, coverage 57%.    N)requires)TkText)Func)Eventc               @   s   e Zd Zdd ZdS )DummyEditwinc             C   s"   || _ || _d| _d| _d| _d S )N   T)roottextZindentwidthZtabwidthZcontext_use_ps1)selfr	   r
    r   4lib/python3.7/idlelib/idle_test/test_autocomplete.py__init__   s
    zDummyEditwin.__init__N)__name__
__module____qualname__r   r   r   r   r   r      s   r   c               @   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 )AutoCompleteTestc             C   s0   t d t | _t| j| _t| j| j| _d S )NZgui)r   r   r	   r   r
   r   editor)clsr   r   r   
setUpClass   s    zAutoCompleteTest.setUpClassc             C   s   | ` | `| j  | `d S )N)r   r
   r	   Zdestroy)r   r   r   r   tearDownClass   s    
zAutoCompleteTest.tearDownClassc             C   s"   | j jdd t| j | _d S )Nz1.0end)r   r
   deleteacZAutoCompleteautocomplete)r   r   r   r   setUp%   s    zAutoCompleteTest.setUpc             C   s   |  | jj| j d S )N)assertEqualr   Zeditwinr   )r   r   r   r   	test_init)   s    zAutoCompleteTest.test_initc             C   s   | j  }| |tj d S )N)r   _make_autocomplete_windowZassertIsInstanceacwZAutoCompleteWindow)r   Ztestwinr   r   r   test_make_autocomplete_window,   s    
z.AutoCompleteTest.test_make_autocomplete_windowc             C   s*   | j  | j _| j   | | j j d S )N)r   r   Zautocompletewindow_remove_autocomplete_windowassertIsNone)r   r   r   r   test_remove_autocomplete_window0   s    
z0AutoCompleteTest.test_remove_autocomplete_windowc             C   s,   t  }|| j_| jd | |jd d S )Nevent)TFT)r   r   open_completionsZforce_open_completions_eventr   args)r   o_csr   r   r   !test_force_open_completions_event6   s    z2AutoCompleteTest.test_force_open_completions_eventc             C   s   | j }| j}| jj}t }||_|d ||jd  | jdd |d ||jd | jdd | jdd |d ||jd d S )Nr$   z1.0zre.)FFF   r   z"./Lib/)FFF   )	r   r   Ztry_open_completions_eventr   Z_open_completions_laterr&   r
   insertr   )r   Equalr   ZtrycompletionsZo_c_lr   r   r   test_try_open_completions_event=   s    z0AutoCompleteTest.test_try_open_completions_eventc             C   s   | j }| j}tdd}| || |`| jdd | || | jdd | jdd || j|d |	  t
 }||_|| j|d  ||jd d|_|| j|d ||jd d S )	NT)mc_statez1.0z        """Docstring.
    r   zre.break)FTT)r   r   r   r"   Zautocomplete_eventr.   r
   r+   r   r!   r   r%   r&   result)r   r,   r   Zevr'   r   r   r   test_autocomplete_eventS   s$    
z(AutoCompleteTest.test_autocomplete_eventc             C   s   d S )Nr   )r   r   r   r   test_open_completions_laterr   s    z,AutoCompleteTest.test_open_completions_laterc             C   s   d S )Nr   )r   r   r   r   test_delayed_open_completionsv   s    z.AutoCompleteTest.test_delayed_open_completionsc             C   s   d S )Nr   )r   r   r   r   test_open_completions|   s    z&AutoCompleteTest.test_open_completionsc             C   s   d S )Nr   )r   r   r   r   test_fetch_completions   s    z'AutoCompleteTest.test_fetch_completionsc             C   s   d S )Nr   )r   r   r   r   test_get_entity   s    z AutoCompleteTest.test_get_entityN)r   r   r   classmethodr   r   r   r   r    r#   r(   r-   r1   r2   r3   r4   r5   r6   r   r   r   r   r      s   r   __main__r*   )	verbosity)__doc__ZunittestZtest.supportr   Ztkinterr   r   Zidlelib.autocompleter   r   Zidlelib.autocomplete_wZautocomplete_wr   Zidlelib.idle_test.mock_idler   Zidlelib.idle_test.mock_tkr   r   ZTestCaser   r   mainr   r   r   r   <module>   s   	y