3  fd @sdZddlmZddlZddlmZddlmZddlZGdddZ e Z Gdd d Z e Z Gd d d ej ZGd d d ej ZGdddej ZedkrejdddS)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@seZdZdZddZdS)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. cCs|jS)N)_pat)selfr@/opt/alt/python36/lib64/python3.6/idlelib/idle_test/test_grep.pygetpatszDummy_searchengine.getpatN)__name__ __module__ __qualname____doc__r rrrr rsrc@s,eZdZejZejZedZeZ ddZ dS) Dummy_grepFcCsdS)Nr)rrrr close"szDummy_grep.closeN) r r r rgrep_itZ findfilesrZrecvar searchengineenginerrrrr rs rc@s eZdZdS) FindfilesTestN)r r r rrrr r(src@s$eZdZddZddZddZdS) Grep_itTestc CsF|tj_t}tjtj|tWdQRX|jj d}|j |S)N ) greprrrrrecompile__file__getvaluesplitpop)rpatslinesrrr report5s zGrep_itTest.reportcCsFdd}|j|}|jt|d|j||d|j|dddS)Nzxyz*rzNo hits.)r! assertEquallenassertIn)rrr rrr test_unfound=s  zGrep_itTest.test_unfoundcCsfd}|j|}|jt|d|j||d|jd|d|jd|d|j|djd dS) Nz<""" !Changing this line will break Test_findfile.test_found!rzpy: 1:r$2z(Hint:)r!r%r&r'Z assertTrue startswith)rrr rrr test_foundDs zGrep_itTest.test_foundN)r r r r!r(r.rrrr r0src@s eZdZdS)Default_commandTestN)r r r rrrr r/Osr/__main__r#) verbosity)rZ idlelib.greprZunittestZ test.supportrZidlelib.idle_test.mock_tkrrrrrrZTestCaserrr/r mainrrrr s