£Á°è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>

Yf                 @   s   d  Z  d d l m Z e d  d d l Z d d l m Z d d l m Z m Z d d l	 m
 Z
 d d l m Z Gd	 d
   d
 e j  Z e d k r e j d d d d  d S)zSUnittest for UndoDelegator in idlelib.UndoDelegator.

Coverage about 80% (retest).
    )requiresZguiN)Mock)TextTk)UndoDelegator)
Percolatorc               @   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 S)UndoDelegatorTestc             C   s4   t    |  _ t |  j  |  _ t |  j  |  _ d  S)N)r   rootr   textr   
percolator)cls r   I/opt/alt/python35/lib64/python3.5/idlelib/idle_test/test_undodelegator.py
setUpClass   s    zUndoDelegatorTest.setUpClassc             C   s3   |  j  j j   |  `  |  ` |  j j   |  ` d  S)N)r   Zredircloser
   r	   Zdestroy)r   r   r   r   tearDownClass   s    zUndoDelegatorTest.tearDownClassc             C   s>   t    |  _ |  j j |  j  t d |  j j  |  j _ d  S)Nwraps)r   	delegatorr   Zinsertfilterr   bell)selfr   r   r   setUp   s    zUndoDelegatorTest.setUpc             C   s7   |  j  j |  j  |  j j d d  |  j j   d  S)Nz1.0end)r   Zremovefilterr   r
   deleteZ
resetcache)r   r   r   r   tearDown#   s    zUndoDelegatorTest.tearDownc             C   sD  |  j  } | j d d  | j d d  | j d  |  j | j d d  d  | j d d  | j d d	  | j d
 d  | j d d  | j d  |  j | j d d  d  | j d  |  j | j d d  d  | j d  |  j | j d d  d  | j d  |  j j d  |  j |  j j	 j
  d  S)NinsertZfoobarhz<<undo>>z1.0r   
foobarz1.2z1.4ZhelloZfoarz1.6z1.3Zevent)r
   r   event_generateassertEqualgetr   r   Z
undo_event
assertTruer   called)r   r
   r   r   r   test_undo_event(   s$    	z!UndoDelegatorTest.test_undo_eventc             C   s   |  j  } | j d d  | j d d  | j d d  | j d  | j d  |  j | j d d  d  | j d  |  j |  j j j	  d  S)Nr   r   r   z1.0z1.3z<<undo>>z<<redo>>)
r
   r   r   r   r    r!   r"   r   r   r#   )r   r
   r   r   r   test_redo_event>   s    	z!UndoDelegatorTest.test_redo_eventc             C   s   |  j  } |  j } | j d d  | j d d  | j d d  |  j | j | j f d  | j d  |  j | j | j f d  d S)z
        Dump_event cannot be tested directly without changing
        environment variables. So, test statements in dump_event
        indirectly
        r   r   r   z1.2z1.4   Tz<<undo>>   FN)r&   T)r'   F)r
   r   r   r   ZassertTupleEqualpointerZ	can_merger   )r   r
   dr   r   r   test_dump_eventJ   s    		z!UndoDelegatorTest.test_dump_eventc             C   s   |  j  } |  j | j    |  j j d d  |  j | j    t   | _ | j d  |  j	 | j
 | j  |  j | j j  | j d  |  j	 | j d  |  j | j j  d  S)Nr   aTF   )r   r"   Z	get_savedr
   r   ZassertFalser   Zsaved_change_hookZ	set_savedr    r(   Zsavedr#   )r   r)   r   r   r   test_get_set_savedZ   s    	z$UndoDelegatorTest.test_get_set_savedc             C   s   |  j  } | j d d  |  j j   | j d d  | j d d  |  j j   |  j | j d d  d  |  j j   | j d d  |  j j   |  j | j d d  d  d  S)Nr   r   r   z1.0z1.3)r
   r   r   Zundo_block_startZundo_block_stopr    r!   )r   r
   r   r   r   test_undo_start_stopm   s    	z&UndoDelegatorTest.test_undo_start_stopc             C   sd   |  j  } d |  j _ } xD t | d  D]2 } | j d d  |  j t |  j j  |  q* Wd  S)N
   r   r   )r
   r   max_undoranger   ZassertLessEquallenZundolist)r   r
   r1   ir   r   r   test_addcmd~   s
    	zUndoDelegatorTest.test_addcmdN)__name__
__module____qualname__classmethodr   r   r   r   r$   r%   r*   r.   r/   r5   r   r   r   r   r      s   r   __main__	verbosityr'   exitF)__doc__Ztest.supportr   ZunittestZunittest.mockr   Ztkinterr   r   Zidlelib.UndoDelegatorr   Zidlelib.Percolatorr   ZTestCaser   r6   mainr   r   r   r   <module>   s   
w