a
    	¼3já  ã                   @   sz   d dl mZmZ d dlZd dlmZ edƒ d dlmZmZm	Z	 G dd„ deƒZ
G dd	„ d	ejƒZed
krvejdd dS )é    )Ú
PercolatorÚ	DelegatorN)ÚrequiresZgui)ÚTextÚTkÚENDc                   @   sB   e Zd Zdd„ Zdd„ Zdd„ Zddd	„Zdd
d„Zddd„ZdS )ÚMyFilterc                 C   s   t  | d ¡ d S ©N)r   Ú__init__©Úself© r   ú]/www/server/python_manager/versions/3.9.10/lib/python3.9/idlelib/idle_test/test_percolator.pyr
      s    zMyFilter.__init__c                 G   s   || _ | jj|Ž  d S r	   )Úinsert_called_withÚdelegateÚinsert©r   Úargsr   r   r   r      s    zMyFilter.insertc                 G   s   || _ | jj|Ž  d S r	   )Údelete_called_withr   Údeleter   r   r   r   r      s    zMyFilter.deleteNc                 C   s   |  ¡ }| j ||¡ d S r	   )Úupperr   r   ©r   ÚindexÚcharsÚtagsr   r   r   Úuppercase_insert   s    zMyFilter.uppercase_insertc                 C   s   |  ¡ }| j ||¡ d S r	   )Úlowerr   r   r   r   r   r   Úlowercase_insert   s    zMyFilter.lowercase_insertc                 C   s   d S r	   r   r   r   r   r   Údont_insert   s    zMyFilter.dont_insert)N)N)N)	Ú__name__Ú
__module__Ú__qualname__r
   r   r   r   r   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d„ Zdd„ Zdd„ Zdd„ ZdS )ÚPercolatorTestc                 C   s   t ƒ | _t| jƒ| _d S r	   )r   Úrootr   Útext©Úclsr   r   r   Ú
setUpClass$   s    zPercolatorTest.setUpClassc                 C   s   | ` | j ¡  | `d S r	   )r$   r#   Zdestroyr%   r   r   r   ÚtearDownClass)   s    
zPercolatorTest.tearDownClassc                 C   s<   t | jƒ| _tƒ | _tƒ | _| j | j¡ | j | j¡ d S r	   )r   r$   Ú
percolatorr   Ú
filter_oneÚ
filter_twoÚinsertfilterr   r   r   r   ÚsetUp/   s
    zPercolatorTest.setUpc                 C   s   | j  ¡  | j dt¡ d S )Nú1.0)r)   Úcloser$   r   r   r   r   r   r   ÚtearDown6   s    
zPercolatorTest.tearDownc                 C   sJ   |   | jj¡ |  | jj| j¡ |  | jj| j¡ |  | jj| jj¡ d S r	   )ZassertIsNotNoner*   r   ÚassertEqualr)   Útopr+   Úbottomr   r   r   r   Útest_insertfilter:   s    z PercolatorTest.test_insertfilterc                 C   s¨   t ƒ }| j | j¡ |  | jj| j¡ |  | jj¡ t ƒ }| j 	| j¡ | j 	|¡ | j | j¡ |  | jj|¡ |  |j| j¡ |  | jj| jj
¡ |  | jj¡ d S r	   )r   r)   Zremovefilterr+   r1   r2   r*   ZassertIsNoner   r,   r3   ©r   Zfilter_threer   r   r   Útest_removefilter@   s    z PercolatorTest.test_removefilterc                 C   s8   | j  dd¡ |  | j  dt¡d¡ |  | jjd¡ d S )Nr   Úfoor.   zfoo
)r   r7   N)r$   r   r1   Úgetr   ÚassertTupleEqualr*   r   r   r   r   r   Útest_insertO   s
    
ÿzPercolatorTest.test_insertc                 C   s4   | j j| j _| j dd¡ |  | j dt¡d¡ d S )Nr   ZbArr.   zBAR
)r*   r   r   r$   r1   r8   r   r   r   r   r   Útest_modify_insertU   s    z!PercolatorTest.test_modify_insertc                 C   sR   t ƒ }| j |¡ | jj| j_| jj| j_| j dd¡ |  	| j 
dt¡d¡ d S )Nr   ZBaRr.   zbar
)r   r)   r,   r+   r   r   r*   r   r$   r1   r8   r   r5   r   r   r   Útest_modify_chain_insertZ   s    z'PercolatorTest.test_modify_chain_insertc                 C   sd   | j j| j _| j dd¡ |  | j dt¡d¡ | j j| j _| j dd¡ |  | j dt¡d¡ d S )Nr   zfoo barr.   Ú
)r*   r   r   r$   r1   r8   r   r   r   r   r   Útest_dont_insertb   s    zPercolatorTest.test_dont_insertc                 C   s(   | j  dd¡ |  | j  dd¡d¡ d S )Nr   Zhellor.   Úendzhello
)r$   r   r1   r8   r   r   r   r   Útest_without_filterj   s    z"PercolatorTest.test_without_filterc                 C   sF   | j  dd¡ | j  dd¡ |  | j  dt¡d¡ |  | jjd¡ d S )Nr   r7   r.   ú1.2zo
)r.   rA   )	r$   r   r   r1   r8   r   r9   r*   r   r   r   r   r   Útest_deleten   s    
ÿzPercolatorTest.test_deleteN)r   r    r!   Úclassmethodr'   r(   r-   r0   r4   r6   r:   r;   r<   r>   r@   rB   r   r   r   r   r"   "   s   

r"   Ú__main__é   )Ú	verbosity)Zidlelib.percolatorr   r   ZunittestZtest.supportr   Útkinterr   r   r   r   ZTestCaser"   r   Úmainr   r   r   r   Ú<module>   s   S