HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/python38/lib/python3.8/idlelib/idle_test/__pycache__/test_autocomplete.cpython-38.pyc
U

�i�_�*�@s�dZddlZddlmZmZddlmZddlmZm	Z	ddl
Z
ddlZddlm
ZddlmZddlmZddlmZGdd	�d	�ZGd
d�dej�Zedkr�ejd
d�dS)z Test autocomplete, coverage 93%.�N)�Mock�patch)�requires)�Tk�Text)�Func)�Eventc@seZdZdd�ZdS)�DummyEditwincCs"||_||_d|_d|_d|_dS)N�z>>>)�root�textZindentwidthZtabwidthZprompt_last_line)�selfrr�r�B/opt/python38/lib/python3.8/idlelib/idle_test/test_autocomplete.py�__init__s
zDummyEditwin.__init__N)�__name__�
__module__�__qualname__rrrrrr	sr	c@s�eZdZedd��Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZGdd�d�Zdd�Zdd �Zd!d"�Zd#S)$�AutoCompleteTestcCs:td�t�|_|j��t|j�|_t|j|j�|_dS)NZgui)rrrZwithdrawrrr	�editor��clsrrr�
setUpClasss

zAutoCompleteTest.setUpClasscCs$|`|`|j��|j��|`dS�N)rrrZupdate_idletasksZdestroyrrrr�
tearDownClass#s

zAutoCompleteTest.tearDownClasscCs |j�dd�t�|j�|_dS)N�1.0�end)r�delete�ac�AutoCompleter�autocomplete�r
rrr�setUp*szAutoCompleteTest.setUpcCs(|�|jj|j�|�|jj|j�dSr)�assertEqualr Zeditwinrrr!rrr�	test_init.szAutoCompleteTest.test_initcCs|j��}|�|tj�dSr)r �_make_autocomplete_window�assertIsInstance�acwZAutoCompleteWindow)r
Ztestwinrrr�test_make_autocomplete_window2s
z.AutoCompleteTest.test_make_autocomplete_windowcCs4|j}t�|_}|��|j��|�|j�dSr)r r�autocompletewindowZ_remove_autocomplete_window�hide_window�assert_called_once�assertIsNone)r
�acp�mrrr�test_remove_autocomplete_window6s

z0AutoCompleteTest.test_remove_autocomplete_windowcCs<|j}t�}||_|�|�d�d�|�|jdtj�dS)N�event�breakr)r r�open_completionsr#Zforce_open_completions_event�argsrZFORCE)r
r-�open_crrr�!test_force_open_completions_event=s
z2AutoCompleteTest.test_force_open_completions_eventcCs�|j}|j}tdd�}|�|�|��|`|j�dd�|�|�|��|j�dd�|j�dd�t	�|_
}t	dd�|_||�|�d�|j�
�d|_
td	d
�}||_||�|�d�||jdtj�d|_||�|�d�||jdtj�dS)NT)�mc_staterz        """Docstring.
    rzre.)Zreturn_valuer1F��resultr)r#r rr,Zautocomplete_eventr6r�insertrrr)Z	is_activeZcompleter+rr2r3r�TABr8)r
�Equalr-Zev�mockr4rrr�test_autocomplete_eventEs*


z(AutoCompleteTest.test_autocomplete_eventcCs|j}|j}|j}|j}tdd�}||j_|�||jd�|�dd�|�||jd�|�dd�d|_|�||j	|�
d��||j|j|j
tjf�|j}||d�|�dd�d	|_t�}||j_|�||j	|�
d��||j|f�||j|j|j
tjf�||jd	�dS)
NZafter1r7rr�rer9z re.z "./Lib/Zafter2)r#rr Ztry_open_completions_eventr�after�calledr9�_delayed_completion_id�_delayed_completion_index�indexr3Z	popupwait�_delayed_open_completionsrZTRY_Ar8�after_cancelZTRY_F)r
r;rr-Ztrycompletionsr?Zcb1�cancelrrr�test_try_open_completions_eventds>
�
�z0AutoCompleteTest.test_try_open_completions_eventcCs�|j}|j}t�}||_|j�dd�d|_|j�d�|_|�	d�|�
|j�||jd�|j�d�|_|�	dd	d
tj
f�|�|jddd	d
tj
f�dS)Nrz"dict.r?z	insert+1c�dummyrr9���)r#r rr2rr9rArCrBrDr,r@r�FILESr3)r
r;r-r4rrr�test_delayed_open_completions�s
z.AutoCompleteTest.test_delayed_open_completionscCsP|j}|j}d|_tdd�}||j_|j�dd�||�tj	��||j�dS)Nr?r7��?z	# comment)
r,r rArrrEr9r2rr:)r
�noner-r?rrr�test_oc_cancel_comment�s
z'AutoCompleteTest.test_oc_cancel_commentcCsl|j}tggfd�}||_|j�dd�|�|�tj��|j�dd�|�|�tj��|�	|j
d�dS)Nr7r�objectr9�.rJ)r r�fetch_completionsrr9r,r2rr:r#r@)r
r-�fetchrrr�test_oc_no_list�sz AutoCompleteTest.test_oc_no_listcCs�|j}|j}|j�dd�||�tj��|j�dd�||�tj��|j�dd�|�|�tj��|j�dd�|�|�tj��|j�dd�dS)NrNrRr9z int().rr�")	r,r rr9r2rr:rZassertFalse)r
rOr-rrr�test_open_completions_none�sz+AutoCompleteTest.test_open_completions_nonec@s"eZdZe�Zedd�Ze�ZdS)zAutoCompleteTest.dummy_acwFr7N)rrrrrZshow_windowr*rrrr�	dummy_acw�s
rXcs��j}tdgddgfd�}||_�fdd�}||_�j�dd�|�tj���	|j
�j��j�dd��j�dd	���
|�tj���j�dd�dS)
NZtemZ_temr7cs���Sr)rXrr!rr�make_acw��z8AutoCompleteTest.test_open_completions.<locals>.make_acwrzint.rz"t)r rrSr%rr9r2rr:r&r)rXr�
assertTrue)r
r-rTrYrr!r�test_open_completions�sz&AutoCompleteTest.test_open_completionsc		Cs(|j}|�dtj�\}}ttd�r:tjtjkr:|�d|�|�dtj�\}}|�t	|�t	|��|�
ttdd�|���|�
t
tdd�|���t�ddd	d
gi��j|�dtj�\}}|�|d	d
g�|�d|�|�d|�|�d
|�|�d�}|�||dd�W5QRXt�}t�|_t�dd|i��b|�dtj�\}}|�d|�|�d|�|�|dd�tt|��D��|�|tt|���W5QRXdd�}t�td|��n|�dtj�\}}|�|ddg�|�|dddg�|�dtj�\}}|�|ddg�|�|dddg�W5QRXdS)N��__file__rcSs
|�d�S�N�_��
startswith��xrrr�<lambda>�rZz9AutoCompleteTest.test_fetch_completions.<locals>.<lambda>cSs
|�d�Sr_rarcrrrre�rZ�__main__.__dict__�__all__�a�br�sum�nonlocal�FalserI�foo�_privatecSs g|]}|dd�dkr|�qS)NrIr`r)�.0�irrr�
<listcomp>sz;AutoCompleteTest.test_fetch_completions.<locals>.<listcomp>cSs|dkrdddgSdddgS)NrRrm�bar�.hidden�monty�pythonr)�pathrrr�_listdirs
z9AutoCompleteTest.test_fetch_completions.<locals>._listdir�listdirrrrs�~rtru)r rSrZATTRS�hasattr�__main__r^ZassertNotInZ
assertLess�lenr[�all�filter�anyr�dictr#ZassertInrCZassertNotEqualrrn�sorted�dirrQ�osrL)	r
r-ZsmallZlarge�sri�posr<rwrrr�test_fetch_completions�sF�
z'AutoCompleteTest.test_fetch_completionsc
Cs�|j}|j}||�d�t�t�}t�dd|i��||�d�|�W5QRXddd�}t�dd|i��||�d�|�W5QRXt�di��&|�t��|�d	�W5QRXW5QRXdS)
N�intzsys.modules�tempfile�
�)rmrrrf�dZ	not_exist)	r r#Z
get_entityr�rrr�ZassertRaises�	NameError)r
r-r;r<Zdirrr�test_get_entitys
z AutoCompleteTest.test_get_entityN)rrr�classmethodrrr"r$r(r/r5r=rGrMrPrUrWrXr\r�r�rrrrrs&

%6rr{rJ)�	verbosity)�__doc__ZunittestZ
unittest.mockrrZtest.supportr�tkinterrrr�r{Zidlelib.autocompleter rZidlelib.autocomplete_wZautocomplete_wr'Zidlelib.idle_test.mock_idlerZidlelib.idle_test.mock_tkrr	ZTestCaserr�mainrrrr�<module>s