
    z%i                         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      Z	 G d d	ej                        Zed
k(  r ej                  d       yy)zTest autoexpand, coverage 100%.    )
AutoExpandN)requires)TextTkc                       e Zd Zd Zy)DummyEditwinc                     || _         y N)text)selfr   s     U/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/idlelib/idle_test/test_autoexpand.py__init__zDummyEditwin.__init__   s	    	    N)__name__
__module____qualname__r    r   r   r   r   	   s    r   r   c                   P    e Zd Zed        Zed        Zd Zd Zd Zd Z	d Z
d Zy	)
AutoExpandTestc                     t        d       t               | _        t        | j                        | _        t        t        | j                              | _        d | j                  _        y )Nguic                       y r
   r   r   r   r   <lambda>z+AutoExpandTest.setUpClass.<locals>.<lambda>   s    r   )	r   r   tkr   r   r   r   auto_expandbellclss    r   
setUpClasszAutoExpandTest.setUpClass   sB    <$\#((%;<+r   c                 ^    | ` | `t        | d      r| j                  j	                          | `y y )Nr   )r   r   hasattrr   destroyr   s    r   tearDownClasszAutoExpandTest.tearDownClass'   s-    Hco3FFNN r   c                 <    | j                   j                  dd       y )N1.0end)r   delete)r   s    r   tearDownzAutoExpandTest.tearDown.   s    		&r   c                 <   | j                   }| j                  j                  }| j                  } | |       d       |j	                  dd        | |       d       |j	                  dd        | |       d       |j	                  dd        | |       d       |j	                  dd        | |       d       |j	                  dd        | |       d	       |j                  d
d        | |       d       |j                  dd        | |       d       y )N insertthisthis isz
sample
stringstringz3.0r%   r&   )r   r   getprevwordassertEqualr+   r'   )r   r   previousequals       r   test_get_prevwordz AutoExpandTest.test_get_prevword1   s    yy##//  hj"Hc"hj#He$hj&!Hc"hj"Hd#hj$H01hj(#E8$hj"E5!hj"r   c                    | j                   j                  }| j                   j                  }| j                  }| j                  j                  dd        || j                   j                         g d        |d        | |       d        |d        | |       d        |d        | |       d        |d        | |       d       y )	Nr+   zab ac bx ad ab a)abadacaeventr8   r9   r:   r;   )r   r2   expand_word_eventr3   r   r+   getwords)r   r4   expandr5   s       r   test_before_onlyzAutoExpandTest.test_before_onlyM   s    ##//!!33  		#56d'')+BCwhj$whj$whj$whj#r   c                    | j                   }| j                  j                  }| j                  j                  }| j                  }|j                  dd       |j                  dd        || j                  j                         g d        |d        | |       d        |d        | |       d        |d        | |       d        |d        | |       d	       y )
Nr+   z a, [ab] ac: () bx"" cd ac= ad yaz1.1)r8   r:   r9   r;   r<   r8   r:   r9   r;   r   r   r2   r=   r3   r+   mark_setr>   r   r   r4   r?   r5   s        r   test_after_onlyzAutoExpandTest.test_after_only]   s    yy##//!!33  H@Ah&d'')+BCwhj$whj$whj$whj#r   c                    | j                   }| j                  j                  }| j                  j                  }| j                  }|j                  dd       |j                  dd       |j                  dd        || j                  j                         g d        |d        | |       d        |d        | |       d        |d        | |       d	       y )
Nr+   z	ab xy yz
z
a ac by acz2.1)r8   r:   r;   r<   r8   r:   r;   rB   rD   s        r   test_both_before_afterz%AutoExpandTest.test_both_before_afterp   s    yy##//!!33  Hl+Hl+h&d'')+<=whj$whj$whj#r   c                 .   | j                   }| j                  j                  }| j                  } || j                  j	                         g         | |d      d       |j                  dd        || j                  j	                         g        |j                  dd       |j                  dd        |d       | j                  j                  }|j                  dd        |d       | j                  j                  }| j                  ||       y )Nr<   breakr+   z
bx cy dz azac xy a ac ad az1.7z1.end)	r   r   r=   r3   r>   r+   rC   stateassertNotEqual)r   r   r?   r5   initial_state	new_states         r   test_other_expand_casesz&AutoExpandTest.test_other_expand_cases   s    yy!!33   	d'')2.fWow'Hl+d'')2. 	H/0h&w((..h(w$$**	M95r   N)r   r   r   classmethodr   r#   r(   r6   r@   rE   rG   rN   r   r   r   r   r      sF    , ,,  '8 &$6r   r   __main__   )	verbosity)__doc__idlelib.autoexpandr   unittesttest.supportr   tkinterr   r   r   TestCaser   r   mainr   r   r   <module>rZ      sP    ! )  !  
I6X&& I6X zHMMA r   