PATH:
opt
/
alt
/
python36
/
lib64
/
python3.6
/
idlelib
/
idle_test
"Test searchbase, coverage 98%." # The only thing not covered is inconsequential -- # testing skipping of suite when self.needwrapbutton is false. import unittest from test.support import requires from tkinter import Tk, Frame ##, BooleanVar, StringVar from idlelib import searchengine as se from idlelib import searchbase as sdb from idlelib.idle_test.mock_idle import Func ## from idlelib.idle_test.mock_tk import Var # The ## imports above & following could help make some tests gui-free. # However, they currently make radiobutton tests fail. ##def setUpModule(): ## # Replace tk objects used to initialize se.SearchEngine. ## se.BooleanVar = Var ## se.StringVar = Var ## ##def tearDownModule(): ## se.BooleanVar = BooleanVar ## se.StringVar = StringVar class SearchDialogBaseTest(unittest.TestCase): @classmethod def setUpClass(cls): requires('gui') cls.root = Tk() @classmethod def tearDownClass(cls): cls.root.destroy() del cls.root def setUp(self): self.engine = se.SearchEngine(self.root) # None also seems to work self.dialog = sdb.SearchDialogBase(root=self.root, engine=self.engine) def tearDown(self): self.dialog.close() def test_open_and_close(self): # open calls create_widgets, which needs default_command self.dialog.default_command = None # Since text parameter of .open is not used in base class, # pass dummy 'text' instead of tk.Text(). self.dialog.open('text') self.assertEqual(self.dialog.top.state(), 'normal') self.dialog.close() self.assertEqual(self.dialog.top.state(), 'withdrawn') self.dialog.open('text', searchphrase="hello") self.assertEqual(self.dialog.ent.get(), 'hello') self.dialog.close() def test_create_widgets(self): self.dialog.create_entries = Func() self.dialog.create_option_buttons = Func() self.dialog.create_other_buttons = Func() self.dialog.create_command_buttons = Func() self.dialog.default_command = None self.dialog.create_widgets() self.assertTrue(self.dialog.create_entries.called) self.assertTrue(self.dialog.create_option_buttons.called) self.assertTrue(self.dialog.create_other_buttons.called) self.assertTrue(self.dialog.create_command_buttons.called) def test_make_entry(self): equal = self.assertEqual self.dialog.row = 0 self.dialog.top = self.root entry, label = self.dialog.make_entry("Test:", 'hello') equal(label['text'], 'Test:') self.assertIn(entry.get(), 'hello') egi = entry.grid_info() equal(int(egi['row']), 0) equal(int(egi['column']), 1) equal(int(egi['rowspan']), 1) equal(int(egi['columnspan']), 1) equal(self.dialog.row, 1) def test_create_entries(self): self.dialog.top = self.root self.dialog.row = 0 self.engine.setpat('hello') self.dialog.create_entries() self.assertIn(self.dialog.ent.get(), 'hello') def test_make_frame(self): self.dialog.row = 0 self.dialog.top = self.root frame, label = self.dialog.make_frame() self.assertEqual(label, '') self.assertIsInstance(frame, Frame) frame, label = self.dialog.make_frame('testlabel') self.assertEqual(label['text'], 'testlabel') self.assertIsInstance(frame, Frame) def btn_test_setup(self, meth): self.dialog.top = self.root self.dialog.row = 0 return meth() def test_create_option_buttons(self): e = self.engine for state in (0, 1): for var in (e.revar, e.casevar, e.wordvar, e.wrapvar): var.set(state) frame, options = self.btn_test_setup( self.dialog.create_option_buttons) for spec, button in zip (options, frame.pack_slaves()): var, label = spec self.assertEqual(button['text'], label) self.assertEqual(var.get(), state) def test_create_other_buttons(self): for state in (False, True): var = self.engine.backvar var.set(state) frame, others = self.btn_test_setup( self.dialog.create_other_buttons) buttons = frame.pack_slaves() for spec, button in zip(others, buttons): val, label = spec self.assertEqual(button['text'], label) if val == state: # hit other button, then this one # indexes depend on button order self.assertEqual(var.get(), state) def test_make_button(self): self.dialog.top = self.root self.dialog.buttonframe = Frame(self.dialog.top) btn = self.dialog.make_button('Test', self.dialog.close) self.assertEqual(btn['text'], 'Test') def test_create_command_buttons(self): self.dialog.top = self.root self.dialog.create_command_buttons() # Look for close button command in buttonframe closebuttoncommand = '' for child in self.dialog.buttonframe.winfo_children(): if child['text'] == 'close': closebuttoncommand = child['command'] self.assertIn('close', closebuttoncommand) if __name__ == '__main__': unittest.main(verbosity=2, exit=2)
[-] htest.py
[edit]
[-] test_runscript.py
[edit]
[-] test_editmenu.py
[edit]
[-] test_rpc.py
[edit]
[+]
__pycache__
[-] test_replace.py
[edit]
[-] test_statusbar.py
[edit]
[-] test_search.py
[edit]
[-] __init__.py
[edit]
[-] test_pyshell.py
[edit]
[-] test_delegator.py
[edit]
[-] test_tooltip.py
[edit]
[-] test_multicall.py
[edit]
[-] test_grep.py
[edit]
[-] test_searchengine.py
[edit]
[-] test_zoomheight.py
[edit]
[-] test_debugger.py
[edit]
[-] test_tree.py
[edit]
[-] template.py
[edit]
[-] mock_idle.py
[edit]
[-] test_parenmatch.py
[edit]
[-] test_help.py
[edit]
[-] test_debugger_r.py
[edit]
[-] test_config_key.py
[edit]
[-] test_autoexpand.py
[edit]
[-] test_query.py
[edit]
[-] test_textview.py
[edit]
[-] test_filelist.py
[edit]
[-] test_paragraph.py
[edit]
[-] test_mainmenu.py
[edit]
[-] test_rstrip.py
[edit]
[-] test_squeezer.py
[edit]
[-] test_editor.py
[edit]
[-] test_stackviewer.py
[edit]
[-] test_text.py
[edit]
[-] test_redirector.py
[edit]
[-] test_colorizer.py
[edit]
[-] test_undo.py
[edit]
[-] test_autocomplete.py
[edit]
[-] test_calltip.py
[edit]
[-] test_outwin.py
[edit]
[-] test_searchbase.py
[edit]
[-] test_configdialog.py
[edit]
[-] test_autocomplete_w.py
[edit]
[-] test_hyperparser.py
[edit]
[+]
..
[-] README.txt
[edit]
[-] test_macosx.py
[edit]
[-] test_history.py
[edit]
[-] test_warning.py
[edit]
[-] test_config.py
[edit]
[-] test_codecontext.py
[edit]
[-] test_help_about.py
[edit]
[-] test_pathbrowser.py
[edit]
[-] test_debugobj.py
[edit]
[-] test_pyparse.py
[edit]
[-] test_scrolledlist.py
[edit]
[-] test_browser.py
[edit]
[-] mock_tk.py
[edit]
[-] test_window.py
[edit]
[-] test_percolator.py
[edit]
[-] test_iomenu.py
[edit]
[-] test_debugobj_r.py
[edit]
[-] test_run.py
[edit]
[-] test_calltip_w.py
[edit]