<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

Š¹¼]Á  ã               @   s«   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)é    )Ú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   ú7/opt/alt/python35/lib64/python3.5/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.3Ú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)Nr   r   r   z1.2z1.4é   Tz<<undo>>é   F)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
   r2   Úir   r   r   Útest_addcmd~   s
    	zUndoDelegatorTest.test_addcmdN)Ú__name__Ú
__module__Ú__qualname__Úclassmethodr   r   r   r   r%   r&   r+   r/   r0   r6   r   r   r   r   r      s   r   Ú__main__Ú	verbosityr(   ÚexitF)Ztest.supportr   ZunittestZunittest.mockr   Útkinterr   r   Zidlelib.UndoDelegatorr   Zidlelib.Percolatorr   ZTestCaser   r7   Úmainr   r   r   r   Ú<module>   s   
w