B Y¬Ü›`-ÞSã @ s² d dl mZ d dlZd dlmZ d dlmZ d dlZd dlZG dd„ dƒZ e ƒ Z G dd„ dƒZeƒ ZG d d „ d ej ƒZG dd„ dej ƒZG d d„ dej ƒZedkr®ejdd dS )é )ÚgrepN)Úcaptured_stdout)ÚVarc @ s e Zd Zdd„ ZdS )ÚDummy_searchenginec C s | j S )N)Ú_pat)Úself© r ú@/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_grep.pyÚgetpat s zDummy_searchengine.getpatN)Ú__name__Ú __module__Ú__qualname__r r r r r r s r c @ s( e Zd ZejjZedƒZeZ dd„ Z dS )Ú Dummy_grepFc C s d S )Nr )r r r r Úclose" s zDummy_grep.closeN)r r r r Z GrepDialogÚgrep_itr ZrecvarÚsearchengineÚenginer r r r r r s r c @ sD e Zd Zedd„ ƒZedd„ ƒZdd„ Zdd„ Zd d „ Zdd„ 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 zFindfilesTest.setUpClassc C s | ` | `d S )N)r r )r r r r Ú tearDownClass/ s zFindfilesTest.tearDownClassc C sD t ƒ }tt ddd¡ƒ}W d Q R X | |g ¡ | d| ¡ ¡ d S )NZ invaliddirz*.*FZinvalid)r Úlistr Ú findfilesÚassertEqualÚassertInÚgetvalue)r ÚsÚfilelistr r r Útest_invaliddir3 s zFindfilesTest.test_invaliddirc C sV t j}t ¡ }t | j¡ d}t|tj|dƒƒ}| tj tj|¡|¡ t |¡ d S )Nztest_grep.pyF) r r r ÚgetcwdÚchdirr r Úcurdirr Újoin)r ÚffZsave_cwdÚfilenamer" r r r Útest_curdir9 s zFindfilesTest.test_curdirc C s t j}tj | jd¡}t|| jddƒƒ}| t|ƒd¡ | | j |¡ | ||¡ t|| jddƒƒ}| t|ƒd¡ | | j |¡ | ||¡ t|| jddƒƒ}| t|ƒd¡ | | j |¡ d S )Nz README.txtz*.pyFé z*.txtr zgrep.*) r r r r r' r Ú assertGreaterÚlenr r ÚassertNotInZassertNotEqualr )r r( Zreadmer" r r r Ú test_baseC s zFindfilesTest.test_basec C sÌ t j}tj | j¡}tj |d¡}d}t|||dƒƒ}t|ƒ}| |d¡ | ||¡ | | j|¡ t|||dƒƒ}| t|ƒ|¡ | ||¡ | | j|¡ tj |¡}t||ddƒƒ}| | j|¡ d S )Nzgrep.pyz*.pyFé T)r r r r r r' r r- r, r r. r )r r( ÚparentZgrepfileÚpatr" Zparent_sizer r r Útest_recurseY s zFindfilesTest.test_recurseN) r r r Úclassmethodr r r# r* r/ r3 r r r r r ( s r c @ s$ e Zd Zdd„ Zdd„ Zdd„ ZdS )Ú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 r2 r! Úlinesr r r Úreport{ s zGrep_itTest.reportc C sB d}| |¡}| t|ƒd¡ | ||d ¡ | |d d¡ d S )Nzxyz*xyz*xyz*xyz*xyz*xyz*xyz*é r é zNo hits.)r= r r- r )r r2 r<