£Á°è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>
B
    YI~d)                 @   s   d dl Z d dlmZmZ d dlmZ d dlmZmZ d dl	Z	d dl
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 )    N)Mockpatch)requires)TkText)Func)Eventc               @   s   e Zd Zdd ZdS )DummyEditwinc             C   s"   || _ || _d| _d| _d| _d S )N   z>>>)roottextZindentwidthZtabwidthZprompt_last_line)selfr   r    r   H/opt/alt/python37/lib64/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G dd dZdd Zdd  Zd!d" Zd#S )$AutoCompleteTestc             C   s:   t d t | _| j  t| j| _t| j| j| _d S )NZgui)r   r   r   Zwithdrawr   r   r	   editor)clsr   r   r   
setUpClass   s
    
zAutoCompleteTest.setUpClassc             C   s$   | ` | `| j  | j  | `d S )N)r   r   r   Zupdate_idletasksZdestroy)r   r   r   r   tearDownClass#   s    

zAutoCompleteTest.tearDownClassc             C   s    | j dd t| j| _d S )Nz1.0end)r   deleteacAutoCompleter   autocomplete)r   r   r   r   setUp*   s    zAutoCompleteTest.setUpc             C   s(   |  | jj| j |  | jj| j d S )N)assertEqualr   Zeditwinr   r   )r   r   r   r   	test_init.   s    zAutoCompleteTest.test_initc             C   s   | j  }| |tj d S )N)r   _make_autocomplete_windowassertIsInstanceacwZAutoCompleteWindow)r   Ztestwinr   r   r   test_make_autocomplete_window2   s    
z.AutoCompleteTest.test_make_autocomplete_windowc             C   s4   | j }t  |_}|  |j  | |j d S )N)r   r   autocompletewindowZ_remove_autocomplete_windowhide_windowassert_called_onceassertIsNone)r   acpmr   r   r   test_remove_autocomplete_window6   s
    
z0AutoCompleteTest.test_remove_autocomplete_windowc             C   s<   | j }t }||_| |dd | |jd tj d S )NZeventbreakr   )r   r   open_completionsr   Zforce_open_completions_eventargsr   ZFORCE)r   r)   open_cr   r   r   !test_force_open_completions_event=   s
    z2AutoCompleteTest.test_force_open_completions_eventc             C   s   | j }| j}tdd}| || |`| jdd | || | jdd | jdd t	  |_
}t	dd|_|||d |j  d |_
td	d
}||_|||d  ||jd tj d|_|||d ||jd tj d S )NT)mc_statez1.0z        """Docstring.
    r   zre.)Zreturn_valuer,   F)resultr   )r   r   r   r(   Zautocomplete_eventr1   r   insertr   r   r%   Z	is_activeZcompleter'   r   r-   r.   r   TABr2   )r   Equalr)   Zevmockr/   r   r   r   test_autocomplete_eventE   s*    


z(AutoCompleteTest.test_autocomplete_eventc             C   s  | j }| j}| j}|j}tdd}||j_|  ||jd |dd |  ||jd |dd d |_|  ||j	|
d ||j|j|jtjf |j}||d |dd d	|_t }||j_|  ||j	|
d ||j|f ||j|j|jtjf ||jd	 d S )
NZafter1)r2   r   z1.0rer3   z re.z "./Lib/Zafter2)r   r   r   Ztry_open_completions_eventr   aftercalledr3   _delayed_completion_id_delayed_completion_indexindexr.   Z	popupwait_delayed_open_completionsr   ZTRY_Ar2   after_cancelZTRY_F)r   r5   r   r)   Ztrycompletionsr9   Zcb1Zcancelr   r   r   test_try_open_completions_eventd   s:    

z0AutoCompleteTest.test_try_open_completions_eventc             C   s   | j }| j}t }||_| jdd d|_| jd|_|	d | 
|j ||jd | jd|_|	dd	d
tjf |  |jd dd	d
tjf d S )Nz1.0z"dict.r9   z	insert+1cZdummyr   r3            )r   r   r   r-   r   r3   r;   r=   r<   r>   r(   r:   r   FILESr.   )r   r5   r)   r/   r   r   r   test_delayed_open_completions   s    
z.AutoCompleteTest.test_delayed_open_completionsc             C   sP   | j }| j}d|_tdd}||j_| jdd ||tj	 ||j d S )Nr9   )r2   g      ?z	# comment)
r(   r   r;   r   r   r?   r3   r-   r   r4   )r   noner)   r9   r   r   r   test_oc_cancel_comment   s    
z'AutoCompleteTest.test_oc_cancel_commentc             C   sl   | j }tg g fd}||_| jdd | |tj | jdd | |tj | 	|j
d d S )N)r2   z1.0objectr3   .rB   )r   r   fetch_completionsr   r3   r(   r-   r   r4   r   r:   )r   r)   fetchr   r   r   test_oc_no_list   s    z AutoCompleteTest.test_oc_no_listc             C   s   | j }| j}| jdd ||tj | jdd ||tj | jdd | |tj | jdd | |tj | jdd d S )Ng      ?rI   r3   z int().r   z1.0")	r(   r   r   r3   r-   r   r4   r   ZassertFalse)r   rF   r)   r   r   r   test_open_completions_none   s    z+AutoCompleteTest.test_open_completions_nonec               @   s"   e Zd Ze ZeddZe ZdS )zAutoCompleteTest.dummy_acwF)r2   N)r   r   r   r   r   Zshow_windowr&   r   r   r   r   	dummy_acw   s   
rO   c                s    j }tdgddgfd}||_ fdd}||_ jdd |tj  	|j
 j  jdd  jdd	  |tj  jdd d S )
NZtemZ_tem)r2   c                  s      S )N)rO   r   )r   r   r   make_acw       z8AutoCompleteTest.test_open_completions.<locals>.make_acwz1.0zint.r   z"t)r   r   rJ   r!   r   r3   r-   r   r4   r"   r%   rO   r   
assertTrue)r   r)   rK   rP   r   )r   r   test_open_completions   s    z&AutoCompleteTest.test_open_completionsc          	   C   s  | j }|dtj\}}ttdr:tjtjkr:| d| |dtj\}}| t	|t	| | 
ttdd | | 
ttdd | tddd	d
gi@ |dtj\}}| |d	d
g | d| | d| W d Q R X t }t |_tdd|ib |dtj\}}| d| | d| | |dd tt|D  | |tt| W d Q R X dd }ttd|n |dtj\}}| |ddg | |dddg |dtj\}}| |ddg | |dddg W d Q R X d S )N __file__r   c             S   s
   |  dS )N_)
startswith)xr   r   r   <lambda>   rQ   z9AutoCompleteTest.test_fetch_completions.<locals>.<lambda>c             S   s
   |  dS )NrV   )rW   )rX   r   r   r   rY      rQ   z__main__.__dict____all__abr   sumfoo_privatec             S   s    g | ]}|d d dkr|qS )NrA   rV   r   ).0ir   r   r   
<listcomp>   s    z;AutoCompleteTest.test_fetch_completions.<locals>.<listcomp>c             S   s   | dkrdddgS dddgS )NrI   r^   barz.hiddenmontypythonr   )pathr   r   r   _listdir  s    
z9AutoCompleteTest.test_fetch_completions.<locals>._listdirlistdirrc   z.hidden~rd   re   )r   rJ   r   ZATTRShasattr__main__rU   ZassertNotInZ
assertLesslenrR   allfilteranyr   dictr   ZassertInr   r_   sorteddirrH   osrD   )r   r)   ZsmallZlargesr\   r6   rg   r   r   r   test_fetch_completions   s<    z'AutoCompleteTest.test_fetch_completionsc          
   C   s   | j }| j}||dt t }tdd|i ||d| W d Q R X ddd}tdd|i ||d| W d Q R X tdi & | t |d	 W d Q R X W d Q R X d S )
Nintzsys.modulesZtempfile
      )r^   rc   z__main__.__dict__dZ	not_exist)	r   r   Z
get_entityrv   r   r   rp   ZassertRaises	NameError)r   r)   r5   r6   Zdir   r   r   test_get_entity  s    
z AutoCompleteTest.test_get_entityN)r   r   r   classmethodr   r   r   r    r$   r+   r0   r7   r@   rE   rG   rL   rN   rO   rS   ru   r{   r   r   r   r   r      s"   %3r   rk   rB   )	verbosity)ZunittestZunittest.mockr   r   Ztest.supportr   Ztkinterr   r   rs   rk   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   	  