<!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>

ํีYfี  ใ               @   sญ   d  Z  d d l m Z e d  d d l Z d d l m Z m Z m Z d d l m	 Z	 m
 Z
 Gd d   d e
  Z Gd	 d
   d
 e j  Z e d k rฉ e j d d  d S)zTest Percolator้    )ฺrequiresZguiN)ฺTextฺTkฺEND)ฺ
Percolatorฺ	Delegatorc               @   sa   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  j |  d   d  S)N)r   ฺ__init__)ฺselfฉ r   ๚F/opt/alt/python35/lib64/python3.5/idlelib/idle_test/test_percolator.pyr	      s    zMyFilter.__init__c             G   s   | |  _  |  j j |   d  S)N)ฺinsert_called_withฺdelegateฺinsert)r
   ฺargsr   r   r   r      s    	zMyFilter.insertc             G   s   | |  _  |  j j |   d  S)N)ฺdelete_called_withr   ฺdelete)r
   r   r   r   r   r      s    	zMyFilter.deleteNc             C   s#   | j    } |  j j | |  d  S)N)ฺupperr   r   )r
   ฺindexฺcharsฺtagsr   r   r   ฺuppercase_insert   s    zMyFilter.uppercase_insertc             C   s#   | j    } |  j j | |  d  S)N)ฺlowerr   r   )r
   r   r   r   r   r   r   ฺlowercase_insert   s    zMyFilter.lowercase_insertc             C   s   d  S)Nr   )r
   r   r   r   r   r   r   ฺdont_insert   s    zMyFilter.dont_insert)	ฺ__name__ฺ
__module__ฺ__qualname__r	   r   r   r   r   r   r   r   r   r   r   
   s   r   c               @   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 d   Z d d   Z d S)ฺPercolatorTestc             C   s"   t    |  _ t |  j  |  _ d  S)N)r   ฺrootr   ฺtext)ฺclsr   r   r   ฺ
setUpClass$   s    zPercolatorTest.setUpClassc             C   s   |  `  |  j j   |  ` d  S)N)r    r   Zdestroy)r!   r   r   r   ฺtearDownClass)   s    zPercolatorTest.tearDownClassc             C   sT   t  |  j  |  _ t   |  _ t   |  _ |  j j |  j  |  j j |  j  d  S)N)r   r    ฺ
percolatorr   ฺ
filter_oneฺ
filter_twoฺinsertfilter)r
   r   r   r   ฺsetUp/   s
    zPercolatorTest.setUpc             C   s$   |  j  j   |  j j d t  d  S)Nz1.0)r$   ฺcloser    r   r   )r
   r   r   r   ฺtearDown6   s    zPercolatorTest.tearDownc             C   se   |  j  |  j j  |  j |  j j |  j  |  j |  j j |  j  |  j |  j j |  j j  d  S)N)ZassertIsNotNoner%   r   ฺassertEqualr$   ฺtopr&   ฺbottom)r
   r   r   r   ฺtest_insertfilter:   s    z PercolatorTest.test_insertfilterc             C   sๆ   t    } |  j j |  j  |  j |  j j |  j  |  j |  j j  t    } |  j j	 |  j  |  j j	 |  |  j j |  j  |  j |  j j |  |  j | j |  j  |  j |  j j |  j j
  |  j |  j j  d  S)N)r   r$   Zremovefilterr&   r+   r,   r%   ZassertIsNoner   r'   r-   )r
   ฺfilter_threer   r   r   ฺtest_removefilter@   s    		z PercolatorTest.test_removefilterc             C   sL   |  j  j d d  |  j |  j  j d t  d  |  j |  j j d  d  S)Nr   ฺfooz1.0zfoo
)r   r1   N)r    r   r+   ฺgetr   ฺassertTupleEqualr%   r   )r
   r   r   r   ฺtest_insertO   s    zPercolatorTest.test_insertc             C   sH   |  j  j |  j  _ |  j j d d  |  j |  j j d t  d  d  S)Nr   ZbArz1.0zBAR
)r%   r   r   r    r+   r2   r   )r
   r   r   r   ฺtest_modify_insertU   s    z!PercolatorTest.test_modify_insertc             C   ss   t    } |  j j |  |  j j |  j _ |  j j |  j _ |  j j d d  |  j	 |  j j
 d t  d  d  S)Nr   ZBaRz1.0zbar
)r   r$   r'   r&   r   r   r%   r   r    r+   r2   r   )r
   r/   r   r   r   ฺtest_modify_chain_insertZ   s    	z'PercolatorTest.test_modify_chain_insertc             C   s   |  j  j |  j  _ |  j j d d  |  j |  j j d t  d  |  j  j |  j  _ |  j j d d  |  j |  j j d t  d  d  S)Nr   zfoo barz1.0ฺ
)r%   r   r   r    r+   r2   r   )r
   r   r   r   ฺtest_dont_insertb   s    zPercolatorTest.test_dont_insertc             C   s6   |  j  j d d  |  j |  j  j d d  d  d  S)Nr   Zhelloz1.0ฺendzhello
)r    r   r+   r2   )r
   r   r   r   ฺtest_without_filterj   s    z"PercolatorTest.test_without_filterc             C   s_   |  j  j d d  |  j  j d d  |  j |  j  j d t  d  |  j |  j j d  d  S)Nr   r1   ๚1.0๚1.2zo
)r;   r<   )	r    r   r   r+   r2   r   r3   r%   r   )r
   r   r   r   ฺtest_deleten   s
    zPercolatorTest.test_deleteN)r   r   r   ฺclassmethodr"   r#   r(   r*   r.   r0   r4   r5   r6   r8   r:   r=   r   r   r   r   r   "   s   r   ฺ__main__ฺ	verbosity้   )ฺ__doc__Ztest.supportr   ZunittestZtkinterr   r   r   Zidlelib.Percolatorr   r   r   ZTestCaser   r   ฺmainr   r   r   r   ฺ<module>   s   
S