£Á°è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
     f                 @   s   d Z ddlmZ ddlZddlmZ ddlmZ ddlZddl	Z	G dd dZ
e
 ZG dd	 d	Ze ZG d
d dejZG dd dejZG dd dejZedkrejdd dS )a    !Changing this line will break Test_findfile.test_found!
Non-gui unit tests for grep.GrepDialog methods.
dummy_command calls grep_it calls findfiles.
An exception raised in one method will fail callers.
Otherwise, tests are mostly independent.
Currently only test grep_it, coverage 51%.
    )grepN)captured_stdout)Varc               @   s   e Zd ZdZdd ZdS )Dummy_searchenginezGrepDialog.__init__ calls parent SearchDiabolBase which attaches the
    passed in SearchEngine instance as attribute 'engine'. Only a few of the
    many possible self.engine.x attributes are needed here.
    c             C   s   | j S )N)_pat)self r   @/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_grep.pygetpat   s    zDummy_searchengine.getpatN)__name__
__module____qualname____doc__r
   r   r   r   r	   r      s   r   c               @   s(   e Zd ZejjZedZeZ	dd Z
dS )
Dummy_grepFc             C   s   d S )Nr   )r   r   r   r	   close"   s    zDummy_grep.closeN)r   r   r   r   Z
GrepDialoggrep_itr   Zrecvarsearchengineenginer   r   r   r   r	   r      s   r   c               @   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S )FindfilesTestc             C   s"   t jt| _t j| j| _d S )N)ospathrealpath__file__dirname)clsr   r   r	   
setUpClass*   s    zFindfilesTest.setUpClassc             C   s   | ` | `d S )N)r   r   )r   r   r   r	   tearDownClass/   s    zFindfilesTest.tearDownClassc          	   C   sD   t  }ttddd}W d Q R X | |g  | d|  d S )NZ
invaliddirz*.*FZinvalid)r   listr   	findfilesassertEqualassertIngetvalue)r   sfilelistr   r   r	   test_invaliddir3   s    zFindfilesTest.test_invaliddirc             C   sV   t j}t }t| j d}t|tj|d}| tj	tj|| t| d S )Nztest_grep.pyF)
r   r   r   getcwdchdirr   r   curdirr    join)r   ffZsave_cwdfilenamer#   r   r   r	   test_curdir9   s    zFindfilesTest.test_curdirc             C   s   t j}tj| jd}t|| jdd}| t|d | | j	| | 
|| t|| jdd}| t|d | 
| j	| | || t|| jdd}| t|d | 
| j	| d S )Nz
README.txtz*.pyF
   z*.txtr   zgrep.*)r   r   r   r   r(   r   assertGreaterlenr    r   assertNotInZassertNotEqualr   )r   r)   Zreadmer#   r   r   r	   	test_baseC   s    zFindfilesTest.test_basec             C   s   t j}tj| j}tj|d}d}t|||d}t|}| |d | 	|| | 
| j| t|||d}| t|| | 	|| | 	| j| tj|}t||dd}| 	| j| d S )Nzgrep.pyz*.pyF   T)r   r   r   r   r   r(   r   r.   r-   r    r/   r   )r   r)   parentZgrepfilepatr#   Zparent_sizer   r   r	   test_recurseY   s     zFindfilesTest.test_recurseN)
r   r   r   classmethodr   r   r$   r+   r0   r4   r   r   r   r	   r   (   s   
r   c               @   s$   e Zd Zdd Zdd Zdd ZdS )Grep_itTestc          	   C   sF   |t j_t }t t|t W d Q R X | 	d}|
  |S )N
)_grepr   r   r   r   recompiler   r!   splitpop)r   r3   r"   linesr   r   r	   report{   s    zGrep_itTest.reportc             C   sB   d}|  |}| t|d | ||d  | |d d d S )Nzxyz*xyz*xyz*xyz*xyz*xyz*xyz*   r      zNo hits.)r>   r   r.   r    )r   r3   r=   r   r   r	   test_unfound   s
    
zGrep_itTest.test_unfoundc             C   sf   d}|  |}| t|d | ||d  | d|d  | d|d  | |d d	 d S )
Nz<""" !Changing this line will break Test_findfile.test_found!   r   zpy: 1:r@   2      z(Hint:)r>   r   r.   r    Z
assertTrue
startswith)r   r3   r=   r   r   r	   
test_found   s    
zGrep_itTest.test_foundN)r   r   r   r>   rA   rG   r   r   r   r	   r6   v   s   r6   c               @   s   e Zd ZdS )Default_commandTestN)r   r   r   r   r   r   r	   rH      s   rH   __main__r?   )	verbosity)r   Zidlelibr   ZunittestZtest.supportr   Zidlelib.idle_test.mock_tkr   r   r9   r   r   r   r8   ZTestCaser   r6   rH   r   mainr   r   r   r	   <module>   s   
N