3 § fd ã@s®dZddlmZddlZddlmZddlmZddlZGdd„dƒZ e ƒZ Gdd „d ƒZ e ƒZ Gd d „d ej ƒZGd d „d ej ƒZGdd„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@seZdZdZdd„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. cCs|jS)N)Ú_pat)Úself©rú@/opt/alt/python36/lib64/python3.6/idlelib/idle_test/test_grep.pyÚgetpatszDummy_searchengine.getpatN)Ú__name__Ú __module__Ú __qualname__Ú__doc__r rrrr rsrc@s,eZdZejZejZedƒZeZ dd„Z dS)Ú Dummy_grepFcCsdS)Nr)rrrr Úclose"szDummy_grep.closeN) r r r rÚgrep_itZ findfilesrZrecvarÚ searchengineÚenginerrrrr rs rc@s eZdZdS)Ú FindfilesTestN)r r r rrrr r(src@s$eZdZdd„Zdd„Zdd„ZdS)Ú Grep_itTestc CsF|tj_tƒ�}tjtj|ƒtƒWdQRX|jƒj dƒ}|j ƒ|S)NÚ ) ÚgreprrrrÚreÚcompileÚ__file__ÚgetvalueÚsplitÚpop)rÚpatÚsÚlinesrrr Úreport5s zGrep_itTest.reportcCsFdd}|j|ƒ}|jt|ƒdƒ|j||dƒ|j|ddƒdS)Nzxyz*éérézNo hits.)r!Ú assertEqualÚlenÚassertIn)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$Ú2ééz(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