£Á°è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>
B
    YI~d                 @   s|   d dl mZ d dlZd dlmZ ed d dlmZ d dlmZm	Z	 d dl
mZ G dd	 d	ejZed
krxejddd dS )    )UndoDelegatorN)requiresZgui)Mock)TextTk)
Percolatorc               @   sd   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   s$   t  | _t| j| _t| j| _d S )N)r   rootr   textr   
percolator)cls r   @/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_undo.py
setUpClass   s    zUndoDelegatorTest.setUpClassc             C   s&   | 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  | _t | j_| j| j d S )N)r   	delegatorr   bellr   Zinsertfilter)selfr   r   r   setUp   s    
zUndoDelegatorTest.setUpc             C   s*   | j | j | jdd | j  d S )Nz1.0end)r   Zremovefilterr   r
   deleteZ
resetcache)r   r   r   r   tearDown"   s    zUndoDelegatorTest.tearDownc             C   s   | j }|dd |dd |d | |ddd |dd |dd	 |d
d |dd |d | |ddd |d | |ddd |d | |ddd |d | jd | | 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   sp   | j }|dd |dd |dd |d |d | |ddd |d | | 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   sf   | j }| j}|dd |dd |dd | |j|jfd |d | |j|jfd d S )	Nr   r   r   z1.2z1.4)   Tz<<undo>>)   F)r
   r   r   r   ZassertTupleEqualpointerZ	can_merger   )r   r
   dr   r   r   test_dump_eventI   s    
z!UndoDelegatorTest.test_dump_eventc             C   s   | j }| |  | jdd | |  t |_|d | 	|j
|j | |jj |d | 	|jd | |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_savedY   s    

z$UndoDelegatorTest.test_get_set_savedc             C   s   | j }|dd | j  |dd |dd | j  | |ddd | j  |dd | 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_stopl   s    



z&UndoDelegatorTest.test_undo_start_stopc             C   sL   | j }d | j_}x4t|d D ]$}|dd | t| jj| q W d S )N
   r   r   )r
   r   max_undoranger   ZassertLessEquallenZundolist)r   r
   r/   ir   r   r   test_addcmd}   s
    zUndoDelegatorTest.test_addcmdN)__name__
__module____qualname__classmethodr   r   r   r   r#   r$   r)   r,   r-   r3   r   r   r   r   r      s   r   __main__r&   F)	verbosityexit)Zidlelib.undor   ZunittestZtest.supportr   Zunittest.mockr   Ztkinterr   r   Zidlelib.percolatorr   ZTestCaser   r4   mainr   r   r   r   <module>   s   x