B
    v9a                 @   sh   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rdejd
d dS )    )
AutoExpandN)requires)TextTkc               @   s   e Zd Zdd ZdS )DummyEditwinc             C   s
   || _ d S )N)text)selfr    r	   %/usr/lib/python3.7/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 )Nr	   r	   r	   r	   r
   <lambda>       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 )Nr   )r   r   hasattrr   Zdestroy)r   r	   r	   r
   tearDownClass'   s    

zAutoExpandTest.tearDownClassc             C   s   | j dd d S )Nz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.0z1.0r   )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  ddddg |d || d |d || d |d || d |d || d d S )Nr   zab ac bx ad ab aabadacaevent)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 ddddg |d || d |d || d |d || d |d || d d S )	Nr   z a, [ab] ac: () bx"" cd ac= ad yaz1.1r'   r)   r(   r*   r+   )r   r   r"   r,   r#   r   mark_setr-   )r   r   r$   r.   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 dddg |d || d |d || d |d || d d S )	Nr   z	ab xy yz
z
a ac by acz2.1r'   r)   r*   r+   )r   r   r"   r,   r#   r   r0   r-   )r   r   r$   r.   r%   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   r0   stateZassertNotEqual)r   r   r.   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&   r/   r1   r2   r5   r	   r	   r	   r
   r      s   r   __main__   )	verbosity)Zidlelib.autoexpandr   ZunittestZtest.supportr   Ztkinterr   r   r   ZTestCaser   r   mainr	   r	   r	   r
   <module>   s    