B YI~d��@s�ddlmZddlZddlmZddlmZddlZddlZGdd�d�Z e �Z Gdd�d�Z e �Z Gd d �d ej �ZGd d �d ej �ZGd d�dej �Zedkr�ejdd�dS)�)�grepN)�captured_stdout)�Varc@seZdZdd�ZdS)�Dummy_searchenginecCs|jS)N)�_pat)�self�r�@/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_grep.py�getpatszDummy_searchengine.getpatN)�__name__� __module__� __qualname__r rrrr rsrc@s(eZdZejjZed�ZeZ dd�Z dS)� Dummy_grepFcCsdS)Nr)rrrr �close"szDummy_grep.closeN) r r r rZ GrepDialog�grep_itrZrecvar� searchengine�enginerrrrr rsrc@sDeZdZedd��Zedd��Zdd�Zdd�Zd d �Zd d �Z d S)� FindfilesTestcCs"tj�t�|_tj�|j�|_dS)N)�os�path�realpath�__file__�dirname)�clsrrr � setUpClass*szFindfilesTest.setUpClasscCs |`|`dS)N)rr)rrrr � tearDownClass/szFindfilesTest.tearDownClassc CsDt��}tt�ddd��}WdQRX|�|g�|�d|���dS)NZ invaliddirz*.*FZinvalid)r�listr� findfiles� assertEqual�assertIn�getvalue)r�s�filelistrrr �test_invaliddir3s zFindfilesTest.test_invaliddircCsVtj}t��}t�|j�d}t|tj|d��}|�tj� tj|�|�t�|�dS)Nz test_grep.pyF) rrr�getcwd�chdirrr�curdirr�join)r�ffZsave_cwd�filenamer"rrr � test_curdir9s zFindfilesTest.test_curdircCs�tj}tj�|jd�}t||jdd��}|�t|�d�|�|j |�|� ||�t||jdd��}|� t|�d�|� |j |�|�||�t||jdd��}|� t|�d�|� |j |�dS)Nz README.txtz*.pyF� z*.txtrzgrep.*) rrrrr'r� assertGreater�lenrr� assertNotInZassertNotEqualr)rr(Zreadmer"rrr � test_baseCs  zFindfilesTest.test_basecCs�tj}tj�|j�}tj�|d�}d}t|||d��}t|�}|�|d�|� ||�|� |j |�t|||d��}|�t|�|�|� ||�|� |j |�tj�|�}t||dd��}|� |j |�dS)Nzgrep.pyz*.pyF�T) rrrrrr'rr-r,rr.r)rr(�parentZgrepfile�patr"Z parent_sizerrr � test_recurseYs     zFindfilesTest.test_recurseN) r r r � classmethodrrr#r*r/r3rrrr r(s    rc@s$eZdZdd�Zdd�Zdd�ZdS)� Grep_itTestc CsF|tj_t��}t�t�|�t�WdQRX|��� d�}|� �|S)N� ) �_greprrrr�re�compilerr �split�pop)rr2r!�linesrrr �report{s zGrep_itTest.reportcCsBd}|�|�}|�t|�d�|�||d�|�|dd�dS)Nzxyz*xyz*xyz*xyz*xyz*xyz*xyz*�r�zNo hits.)r=rr-r)rr2r<rrr � test_unfound�s  zGrep_itTest.test_unfoundcCsfd}|�|�}|�t|�d�|�||d�|�d|d�|�d|d�|�|d�d ��dS) Nz<""" !Changing this line will break Test_findfile.test_found!�rzpy: 1:r?�2��z(Hint:)r=rr-rZ assertTrue� startswith)rr2r<rrr � test_found�s zGrep_itTest.test_foundN)r r r r=r@rFrrrr r5vsr5c@s eZdZdS)�Default_commandTestN)r r r rrrr rG�srG�__main__r>)� verbosity)ZidlelibrZunittestZ test.supportrZidlelib.idle_test.mock_tkrrr8rrrr7ZTestCaserr5rGr �mainrrrr �s    N