B YI~d� � @ 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<