3 § fd ã @ s® d Z ddlmZ ddlZddlmZ ddlmZ ddlZG dd„ dƒZ e ƒ Z G dd „ d ƒZeƒ ZG d d„ dej ƒZG dd „ d ej ƒZG dd„ dej ƒZedkrªejdd� dS )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%. é )Ú GrepDialogN)Úcaptured_stdout)ÚVarc @ s e Zd ZdZdd„ ZdS )ÚDummy_searchenginezÒGrepDialog.__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/python36/lib64/python3.6/idlelib/idle_test/test_grep.pyÚgetpat s zDummy_searchengine.getpatN)Ú__name__Ú __module__Ú__qualname__Ú__doc__r r r r r r s r c @ s, e Zd ZejZejZedƒZeZ dd„ Z dS )Ú Dummy_grepFc C s d S )Nr )r r r r Úclose" s zDummy_grep.closeN)r r r r Úgrep_itZ findfilesr ZrecvarÚsearchengineÚenginer r r r r r s r c @ s e Zd ZdS )Ú FindfilesTestN)r r r r r r r r ( s r c @ s$ e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚGrep_itTestc C sF |t j_tƒ �}t jtj|ƒtƒ W d Q R X |jƒ j dƒ}|j ƒ |S )NÚ )Úgrepr r r r ÚreÚcompileÚ__file__ÚgetvalueÚsplitÚpop)r ÚpatÚsÚlinesr r r Úreport5 s zGrep_itTest.reportc C sF dd }| j |ƒ}| jt|ƒdƒ | j||d ƒ | j|d dƒ d S )Nzxyz*é é r é zNo hits.)r! ÚassertEqualÚlenÚassertIn)r r r r r r Útest_unfound= s zGrep_itTest.test_unfoundc C sf d}| j |ƒ}| jt|ƒdƒ | j||d ƒ | jd|d ƒ | jd|d ƒ | j|d jd ƒƒ d S ) Nz<""" !Changing this line will break Test_findfile.test_found!é r zpy: 1:r$ Ú2é é z(Hint:)r! r% r&