o
    JAf                     @   sp   d Z ddlmZ ddlZddlmZ ddlmZmZ G dd dZ	G dd	 d	ej
Zed
kr6ejdd dS dS )zTest autoexpand, coverage 100%.    )
AutoExpandN)requires)TextTkc                   @   s   e Zd Zdd ZdS )DummyEditwinc                 C   s
   || _ d S N)text)selfr    r
   8/usr/lib/python3.10/idlelib/idle_test/test_autoexpand.py__init__   s   
zDummyEditwin.__init__N)__name__
__module____qualname__r   r
   r
   r
   r   r   	   s    r   c                   @   sT   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S )AutoExpandTestc                 C   s<   t d t | _t| j| _tt| j| _dd | j_d S )NZguic                   S   s   d S r   r
   r
   r
   r
   r   <lambda>   s    z+AutoExpandTest.setUpClass.<locals>.<lambda>)	r   r   tkr   r   r   r   auto_expandZbellclsr
   r
   r   
setUpClass   s
   zAutoExpandTest.setUpClassc                 C   s(   | ` | `t| dr| j  | `d S d S )Nr   )r   r   hasattrr   Zdestroyr   r
   r
   r   tearDownClass'   s
   

zAutoExpandTest.tearDownClassc                 C   s   | j dd d S )N1.0end)r   delete)r	   r
   r
   r   tearDown.   s   zAutoExpandTest.tearDownc                 C   s   | j }| jj}| j}|| d |dd || d |dd || d |dd || d |dd || d |dd || d	 |d
d || d |dd || d d S )N inserttZhisthis isz
sample
stringstringz3.0r   r   )r   r   getprevwordassertEqualr   r   )r	   r   previousequalr
   r
   r   test_get_prevword1   s$   z AutoExpandTest.test_get_prevwordc                 C   s   | j j}| j j}| j}| jdd || j  g d |d || d |d || d |d || d |d || d d S )	Nr   zab ac bx ad ab a)abadacaeventr)   r*   r+   r,   )r   r$   expand_word_eventr%   r   r   getwords)r	   r&   expandr'   r
   r
   r   test_before_onlyM   s   zAutoExpandTest.test_before_onlyc                 C   s   | j }| jj}| jj}| j}|dd |dd || j g d |d || d |d || d |d || d |d || d	 d S )
Nr   z a, [ab] ac: () bx"" cd ac= ad yaz1.1)r)   r+   r*   r,   r-   r)   r+   r*   r,   r   r   r$   r.   r%   r   mark_setr/   r	   r   r&   r0   r'   r
   r
   r   test_after_only]   s   zAutoExpandTest.test_after_onlyc                 C   s   | j }| jj}| jj}| j}|dd |dd |dd || j g d |d || d |d || d |d || d	 d S )
Nr   z	ab xy yz
z
a ac by acz2.1)r)   r+   r,   r-   r)   r+   r,   r2   r4   r
   r
   r   test_both_before_afterp   s   z%AutoExpandTest.test_both_before_afterc                 C   s   | j }| jj}| j}|| j g  ||dd |dd || j g  |dd |dd |d | jj}|dd |d | jj}| || d S )Nr-   breakr   z
bx cy dz azac xy a ac ad az1.7z1.end)	r   r   r.   r%   r/   r   r3   stateZassertNotEqual)r	   r   r0   r'   Zinitial_stateZ	new_stater
   r
   r   test_other_expand_cases   s   z&AutoExpandTest.test_other_expand_casesN)r   r   r   classmethodr   r   r   r(   r1   r5   r6   r9   r
   r
   r
   r   r      s    

r   __main__   )	verbosity)__doc__Zidlelib.autoexpandr   ZunittestZtest.supportr   tkinterr   r   r   ZTestCaser   r   mainr
   r
   r
   r   <module>   s     