golden hour
/opt/alt/python37/lib64/python3.7/idlelib/idle_test
⬆️ Go Up
Upload
File/Folder
Size
Actions
README.txt
8.52 KB
Del
OK
__init__.py
712 B
Del
OK
__pycache__
-
Del
OK
htest.py
14.83 KB
Del
OK
mock_idle.py
1.9 KB
Del
OK
mock_tk.py
11.35 KB
Del
OK
template.py
642 B
Del
OK
test_autocomplete.py
10.47 KB
Del
OK
test_autocomplete_w.py
709 B
Del
OK
test_autoexpand.py
4.53 KB
Del
OK
test_browser.py
7.78 KB
Del
OK
test_calltip.py
9.7 KB
Del
OK
test_calltip_w.py
686 B
Del
OK
test_codecontext.py
15.74 KB
Del
OK
test_colorizer.py
14.67 KB
Del
OK
test_config.py
31.29 KB
Del
OK
test_config_key.py
9.48 KB
Del
OK
test_configdialog.py
53.08 KB
Del
OK
test_debugger.py
571 B
Del
OK
test_debugger_r.py
631 B
Del
OK
test_debugobj.py
1.52 KB
Del
OK
test_debugobj_r.py
545 B
Del
OK
test_delegator.py
1.53 KB
Del
OK
test_editmenu.py
2.5 KB
Del
OK
test_editor.py
7.35 KB
Del
OK
test_filelist.py
795 B
Del
OK
test_format.py
23.06 KB
Del
OK
test_grep.py
4.95 KB
Del
OK
test_help.py
849 B
Del
OK
test_help_about.py
5.78 KB
Del
OK
test_history.py
5.39 KB
Del
OK
test_hyperparser.py
8.87 KB
Del
OK
test_iomenu.py
1.25 KB
Del
OK
test_macosx.py
3.23 KB
Del
OK
test_mainmenu.py
594 B
Del
OK
test_multicall.py
1.29 KB
Del
OK
test_outwin.py
5.42 KB
Del
OK
test_parenmatch.py
3.47 KB
Del
OK
test_pathbrowser.py
2.37 KB
Del
OK
test_percolator.py
3.97 KB
Del
OK
test_pyparse.py
18.78 KB
Del
OK
test_pyshell.py
2.12 KB
Del
OK
test_query.py
14.92 KB
Del
OK
test_redirector.py
4.08 KB
Del
OK
test_replace.py
8.11 KB
Del
OK
test_rpc.py
805 B
Del
OK
test_run.py
11.46 KB
Del
OK
test_runscript.py
777 B
Del
OK
test_scrolledlist.py
496 B
Del
OK
test_search.py
2.4 KB
Del
OK
test_searchbase.py
5.5 KB
Del
OK
test_searchengine.py
11.27 KB
Del
OK
test_sidebar.py
12.92 KB
Del
OK
test_squeezer.py
19.62 KB
Del
OK
test_stackviewer.py
1.18 KB
Del
OK
test_statusbar.py
1.11 KB
Del
OK
test_text.py
6.81 KB
Del
OK
test_textview.py
7.19 KB
Del
OK
test_tooltip.py
5.26 KB
Del
OK
test_tree.py
1.71 KB
Del
OK
test_undo.py
4.13 KB
Del
OK
test_warning.py
2.68 KB
Del
OK
test_window.py
1.05 KB
Del
OK
test_zoomheight.py
999 B
Del
OK
Edit: test_history.py
" Test history, coverage 100%." from idlelib.history import History import unittest from test.support import requires import tkinter as tk from tkinter import Text as tkText from idlelib.idle_test.mock_tk import Text as mkText from idlelib.config import idleConf line1 = 'a = 7' line2 = 'b = a' class StoreTest(unittest.TestCase): '''Tests History.__init__ and History.store with mock Text''' @classmethod def setUpClass(cls): cls.text = mkText() cls.history = History(cls.text) def tearDown(self): self.text.delete('1.0', 'end') self.history.history = [] def test_init(self): self.assertIs(self.history.text, self.text) self.assertEqual(self.history.history, []) self.assertIsNone(self.history.prefix) self.assertIsNone(self.history.pointer) self.assertEqual(self.history.cyclic, idleConf.GetOption("main", "History", "cyclic", 1, "bool")) def test_store_short(self): self.history.store('a') self.assertEqual(self.history.history, []) self.history.store(' a ') self.assertEqual(self.history.history, []) def test_store_dup(self): self.history.store(line1) self.assertEqual(self.history.history, [line1]) self.history.store(line2) self.assertEqual(self.history.history, [line1, line2]) self.history.store(line1) self.assertEqual(self.history.history, [line2, line1]) def test_store_reset(self): self.history.prefix = line1 self.history.pointer = 0 self.history.store(line2) self.assertIsNone(self.history.prefix) self.assertIsNone(self.history.pointer) class TextWrapper: def __init__(self, master): self.text = tkText(master=master) self._bell = False def __getattr__(self, name): return getattr(self.text, name) def bell(self): self._bell = True class FetchTest(unittest.TestCase): '''Test History.fetch with wrapped tk.Text. ''' @classmethod def setUpClass(cls): requires('gui') cls.root = tk.Tk() cls.root.withdraw() def setUp(self): self.text = text = TextWrapper(self.root) text.insert('1.0', ">>> ") text.mark_set('iomark', '1.4') text.mark_gravity('iomark', 'left') self.history = History(text) self.history.history = [line1, line2] @classmethod def tearDownClass(cls): cls.root.destroy() del cls.root def fetch_test(self, reverse, line, prefix, index, *, bell=False): # Perform one fetch as invoked by Alt-N or Alt-P # Test the result. The line test is the most important. # The last two are diagnostic of fetch internals. History = self.history History.fetch(reverse) Equal = self.assertEqual Equal(self.text.get('iomark', 'end-1c'), line) Equal(self.text._bell, bell) if bell: self.text._bell = False Equal(History.prefix, prefix) Equal(History.pointer, index) Equal(self.text.compare("insert", '==', "end-1c"), 1) def test_fetch_prev_cyclic(self): prefix = '' test = self.fetch_test test(True, line2, prefix, 1) test(True, line1, prefix, 0) test(True, prefix, None, None, bell=True) def test_fetch_next_cyclic(self): prefix = '' test = self.fetch_test test(False, line1, prefix, 0) test(False, line2, prefix, 1) test(False, prefix, None, None, bell=True) # Prefix 'a' tests skip line2, which starts with 'b' def test_fetch_prev_prefix(self): prefix = 'a' self.text.insert('iomark', prefix) self.fetch_test(True, line1, prefix, 0) self.fetch_test(True, prefix, None, None, bell=True) def test_fetch_next_prefix(self): prefix = 'a' self.text.insert('iomark', prefix) self.fetch_test(False, line1, prefix, 0) self.fetch_test(False, prefix, None, None, bell=True) def test_fetch_prev_noncyclic(self): prefix = '' self.history.cyclic = False test = self.fetch_test test(True, line2, prefix, 1) test(True, line1, prefix, 0) test(True, line1, prefix, 0, bell=True) def test_fetch_next_noncyclic(self): prefix = '' self.history.cyclic = False test = self.fetch_test test(False, prefix, None, None, bell=True) test(True, line2, prefix, 1) test(False, prefix, None, None, bell=True) test(False, prefix, None, None, bell=True) def test_fetch_cursor_move(self): # Move cursor after fetch self.history.fetch(reverse=True) # initialization self.text.mark_set('insert', 'iomark') self.fetch_test(True, line2, None, None, bell=True) def test_fetch_edit(self): # Edit after fetch self.history.fetch(reverse=True) # initialization self.text.delete('iomark', 'insert', ) self.text.insert('iomark', 'a =') self.fetch_test(True, line1, 'a =', 0) # prefix is reset def test_history_prev_next(self): # Minimally test functions bound to events self.history.history_prev('dummy event') self.assertEqual(self.history.pointer, 1) self.history.history_next('dummy event') self.assertEqual(self.history.pointer, None) if __name__ == '__main__': unittest.main(verbosity=2, exit=2)
Save