PATH: //proc/self/root/proc/self/root/opt/alt/python37/lib64/python3.7/idlelib/idle_test
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 README.txt
↓
X
📄 __init__.py
↓
X
📁 __pycache__/
X
📄 htest.py
↓
X
📄 mock_idle.py
↓
X
📄 mock_tk.py
↓
X
📄 template.py
↓
X
📄 test_autocomplete.py
↓
X
📄 test_autocomplete_w.py
↓
X
📄 test_autoexpand.py
↓
X
📄 test_browser.py
↓
X
📄 test_calltip.py
↓
X
📄 test_calltip_w.py
↓
X
📄 test_codecontext.py
↓
X
📄 test_colorizer.py
↓
X
📄 test_config.py
↓
X
📄 test_config_key.py
↓
X
📄 test_configdialog.py
↓
X
📄 test_debugger.py
↓
X
📄 test_debugger_r.py
↓
X
📄 test_debugobj.py
↓
X
📄 test_debugobj_r.py
↓
X
📄 test_delegator.py
↓
X
📄 test_editmenu.py
↓
X
📄 test_editor.py
↓
X
📄 test_filelist.py
↓
X
📄 test_format.py
↓
X
📄 test_grep.py
↓
X
📄 test_help.py
↓
X
📄 test_help_about.py
↓
X
📄 test_history.py
↓
X
📄 test_hyperparser.py
↓
X
📄 test_iomenu.py
↓
X
📄 test_macosx.py
↓
X
📄 test_mainmenu.py
↓
X
📄 test_multicall.py
↓
X
📄 test_outwin.py
↓
X
📄 test_parenmatch.py
↓
X
📄 test_pathbrowser.py
↓
X
📄 test_percolator.py
↓
X
📄 test_pyparse.py
↓
X
📄 test_pyshell.py
↓
X
📄 test_query.py
↓
X
📄 test_redirector.py
↓
X
📄 test_replace.py
↓
X
📄 test_rpc.py
↓
X
📄 test_run.py
↓
X
📄 test_runscript.py
↓
X
📄 test_scrolledlist.py
↓
X
📄 test_search.py
↓
X
📄 test_searchbase.py
↓
X
📄 test_searchengine.py
↓
X
📄 test_sidebar.py
↓
X
📄 test_squeezer.py
↓
X
📄 test_stackviewer.py
↓
X
📄 test_statusbar.py
↓
X
📄 test_text.py
↓
X
📄 test_textview.py
↓
X
📄 test_tooltip.py
↓
X
📄 test_tree.py
↓
X
📄 test_undo.py
↓
X
📄 test_warning.py
↓
X
📄 test_window.py
↓
X
📄 test_zoomheight.py
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: test_grep.py
""" !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)
SIMPAN PERUBAHAN