/
opt
/
alt
/
python37
/
lib64
/
python3.7
/
idlelib
/
idle_test
/
/opt/alt/python37/lib64/python3.7/idlelib/idle_test
mkdir
upload
Name
Size
Mode
Actions
__pycache__/
-
0755
rm
htest.py
15190
0644
edit
dl
rm
mock_idle.py
1943
0644
edit
dl
rm
mock_tk.py
11627
0644
edit
dl
rm
README.txt
8729
0644
edit
dl
rm
template.py
642
0644
edit
dl
rm
test_autocomplete.py
10717
0644
edit
dl
rm
test_autocomplete_w.py
709
0644
edit
dl
rm
test_autoexpand.py
4638
0644
edit
dl
rm
test_browser.py
7963
0644
edit
dl
rm
test_calltip.py
9937
0644
edit
dl
rm
test_calltip_w.py
686
0644
edit
dl
rm
test_codecontext.py
16120
0644
edit
dl
rm
test_colorizer.py
15017
0644
edit
dl
rm
test_config.py
32046
0644
edit
dl
rm
test_configdialog.py
54350
0644
edit
dl
rm
test_config_key.py
9709
0644
edit
dl
rm
test_debugger.py
571
0644
edit
dl
rm
test_debugger_r.py
631
0644
edit
dl
rm
test_debugobj.py
1561
0644
edit
dl
rm
test_debugobj_r.py
545
0644
edit
dl
rm
test_delegator.py
1567
0644
edit
dl
rm
test_editmenu.py
2564
0644
edit
dl
rm
test_editor.py
7523
0644
edit
dl
rm
test_filelist.py
795
0644
edit
dl
rm
test_format.py
23612
0644
edit
dl
rm
test_grep.py
5072
0644
edit
dl
rm
test_help.py
849
0644
edit
dl
rm
test_help_about.py
5921
0644
edit
dl
rm
test_history.py
5517
0644
edit
dl
rm
test_hyperparser.py
9082
0644
edit
dl
rm
test_iomenu.py
1278
0644
edit
dl
rm
test_macosx.py
3309
0644
edit
dl
rm
test_mainmenu.py
594
0644
edit
dl
rm
test_multicall.py
1316
0644
edit
dl
rm
test_outwin.py
5545
0644
edit
dl
rm
test_parenmatch.py
3550
0644
edit
dl
rm
test_pathbrowser.py
2422
0644
edit
dl
rm
test_percolator.py
4065
0644
edit
dl
rm
test_pyparse.py
19227
0644
edit
dl
rm
test_pyshell.py
2171
0644
edit
dl
rm
test_query.py
15280
0644
edit
dl
rm
test_redirector.py
4176
0644
edit
dl
rm
test_replace.py
8305
0644
edit
dl
rm
test_rpc.py
805
0644
edit
dl
rm
test_run.py
11737
0644
edit
dl
rm
test_runscript.py
777
0644
edit
dl
rm
test_scrolledlist.py
496
0644
edit
dl
rm
test_search.py
2459
0644
edit
dl
rm
test_searchbase.py
5635
0644
edit
dl
rm
test_searchengine.py
11543
0644
edit
dl
rm
test_sidebar.py
13231
0644
edit
dl
rm
test_squeezer.py
20088
0644
edit
dl
rm
test_stackviewer.py
1206
0644
edit
dl
rm
test_statusbar.py
1133
0644
edit
dl
rm
test_text.py
6978
0644
edit
dl
rm
test_textview.py
7364
0644
edit
dl
rm
test_tooltip.py
5385
0644
edit
dl
rm
test_tree.py
1752
0644
edit
dl
rm
test_undo.py
4228
0644
edit
dl
rm
test_warning.py
2740
0644
edit
dl
rm
test_window.py
1075
0644
edit
dl
rm
test_zoomheight.py
999
0644
edit
dl
rm
__init__.py
712
0644
edit
dl
rm
Edit:
/opt/alt/python37/lib64/python3.7/idlelib/idle_test/test_grep.py
(5072B)
""" !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%. """ from idlelib import grep import unittest from test.support import captured_stdout from idlelib.idle_test.mock_tk import Var import os import re class Dummy_searchengine: '''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. ''' def getpat(self): return self._pat searchengine = Dummy_searchengine() class Dummy_grep: # Methods tested #default_command = GrepDialog.default_command grep_it = grep.GrepDialog.grep_it # Other stuff needed recvar = Var(False) engine = searchengine def close(self): # gui method pass _grep = Dummy_grep() class FindfilesTest(unittest.TestCase): @classmethod def setUpClass(cls): cls.realpath = os.path.realpath(__file__) cls.path = os.path.dirname(cls.realpath) @classmethod def tearDownClass(cls): del cls.realpath, cls.path def test_invaliddir(self): with captured_stdout() as s: filelist = list(grep.findfiles('invaliddir', '*.*', False)) self.assertEqual(filelist, []) self.assertIn('invalid', s.getvalue()) def test_curdir(self): # Test os.curdir. ff = grep.findfiles save_cwd = os.getcwd() os.chdir(self.path) filename = 'test_grep.py' filelist = list(ff(os.curdir, filename, False)) self.assertIn(os.path.join(os.curdir, filename), filelist) os.chdir(save_cwd) def test_base(self): ff = grep.findfiles readme = os.path.join(self.path, 'README.txt') # Check for Python files in path where this file lives. filelist = list(ff(self.path, '*.py', False)) # This directory has many Python files. self.assertGreater(len(filelist), 10) self.assertIn(self.realpath, filelist) self.assertNotIn(readme, filelist) # Look for .txt files in path where this file lives. filelist = list(ff(self.path, '*.txt', False)) self.assertNotEqual(len(filelist), 0) self.assertNotIn(self.realpath, filelist) self.assertIn(readme, filelist) # Look for non-matching pattern. filelist = list(ff(self.path, 'grep.*', False)) self.assertEqual(len(filelist), 0) self.assertNotIn(self.realpath, filelist) def test_recurse(self): ff = grep.findfiles parent = os.path.dirname(self.path) grepfile = os.path.join(parent, 'grep.py') pat = '*.py' # Get Python files only in parent directory. filelist = list(ff(parent, pat, False)) parent_size = len(filelist) # Lots of Python files in idlelib. self.assertGreater(parent_size, 20) self.assertIn(grepfile, filelist) # Without subdirectories, this file isn't returned. self.assertNotIn(self.realpath, filelist) # Include subdirectories. filelist = list(ff(parent, pat, True)) # More files found now. self.assertGreater(len(filelist), parent_size) self.assertIn(grepfile, filelist) # This file exists in list now. self.assertIn(self.realpath, filelist) # Check another level up the tree. parent = os.path.dirname(parent) filelist = list(ff(parent, '*.py', True)) self.assertIn(self.realpath, filelist) class Grep_itTest(unittest.TestCase): # Test captured reports with 0 and some hits. # Should test file names, but Windows reports have mixed / and \ separators # from incomplete replacement, so 'later'. def report(self, pat): _grep.engine._pat = pat with captured_stdout() as s: _grep.grep_it(re.compile(pat), __file__) lines = s.getvalue().split('\n') lines.pop() # remove bogus '' after last \n return lines def test_unfound(self): pat = 'xyz*'*7 lines = self.report(pat) self.assertEqual(len(lines), 2) self.assertIn(pat, lines[0]) self.assertEqual(lines[1], 'No hits.') def test_found(self): pat = '""" !Changing this line will break Test_findfile.test_found!' lines = self.report(pat) self.assertEqual(len(lines), 5) self.assertIn(pat, lines[0]) self.assertIn('py: 1:', lines[1]) # line number 1 self.assertIn('2', lines[3]) # hits found 2 self.assertTrue(lines[4].startswith('(Hint:')) class Default_commandTest(unittest.TestCase): # To write this, move outwin import to top of GrepDialog # so it can be replaced by captured_stdout in class setup/teardown. pass if __name__ == '__main__': unittest.main(verbosity=2)
Save
cmd:
run