PATH:
opt
/
bitninja-python-dojo
/
embedded
/
lib
/
python3.9
/
idlelib
/
idle_test
"Test mainmenu, coverage 100%." # Reported as 88%; mocking turtledemo absence would have no point. from idlelib import mainmenu import re import unittest class MainMenuTest(unittest.TestCase): def test_menudefs(self): actual = [item[0] for item in mainmenu.menudefs] expect = ['file', 'edit', 'format', 'run', 'shell', 'debug', 'options', 'window', 'help'] self.assertEqual(actual, expect) def test_default_keydefs(self): self.assertGreaterEqual(len(mainmenu.default_keydefs), 50) def test_tcl_indexes(self): # Test tcl patterns used to find menuitem to alter. # On failure, change pattern here and in function(s). # Patterns here have '.*' for re instead of '*' for tcl. for menu, pattern in ( ('debug', '.*tack.*iewer'), # PyShell.debug_menu_postcommand ('options', '.*ode.*ontext'), # EW.__init__, CodeContext.toggle... ('options', '.*ine.*umbers'), # EW.__init__, EW.toggle...event. ): with self.subTest(menu=menu, pattern=pattern): for menutup in mainmenu.menudefs: if menutup[0] == menu: break else: self.assertTrue(0, f"{menu} not in menudefs") self.assertTrue(any(re.search(pattern, menuitem[0]) for menuitem in menutup[1] if menuitem is not None), # Separator. f"{pattern} not in {menu}") if __name__ == '__main__': unittest.main(verbosity=2)
[-] test_run.py
[edit]
[-] test_configdialog.py
[edit]
[-] test_help.py
[edit]
[-] test_macosx.py
[edit]
[-] test_searchbase.py
[edit]
[-] test_pathbrowser.py
[edit]
[-] test_outwin.py
[edit]
[-] test_delegator.py
[edit]
[-] test_redirector.py
[edit]
[-] test_config_key.py
[edit]
[-] test_history.py
[edit]
[-] test_rpc.py
[edit]
[-] test_tooltip.py
[edit]
[-] test_textview.py
[edit]
[-] test_grep.py
[edit]
[+]
..
[-] test_colorizer.py
[edit]
[-] test_parenmatch.py
[edit]
[-] test_debugger_r.py
[edit]
[-] test_browser.py
[edit]
[-] test_autocomplete_w.py
[edit]
[-] test_codecontext.py
[edit]
[-] template.py
[edit]
[-] test_mainmenu.py
[edit]
[-] test_zoomheight.py
[edit]
[-] test_scrolledlist.py
[edit]
[-] mock_idle.py
[edit]
[-] README.txt
[edit]
[-] test_calltip_w.py
[edit]
[-] test_help_about.py
[edit]
[-] test_replace.py
[edit]
[-] test_hyperparser.py
[edit]
[-] test_sidebar.py
[edit]
[-] test_window.py
[edit]
[-] test_debugobj.py
[edit]
[-] test_squeezer.py
[edit]
[-] test_editmenu.py
[edit]
[-] test_runscript.py
[edit]
[-] test_iomenu.py
[edit]
[+]
__pycache__
[-] mock_tk.py
[edit]
[-] test_format.py
[edit]
[-] test_searchengine.py
[edit]
[-] test_text.py
[edit]
[-] test_autocomplete.py
[edit]
[-] test_multicall.py
[edit]
[-] test_warning.py
[edit]
[-] test_debugobj_r.py
[edit]
[-] test_debugger.py
[edit]
[-] test_query.py
[edit]
[-] test_zzdummy.py
[edit]
[-] __init__.py
[edit]
[-] test_percolator.py
[edit]
[-] htest.py
[edit]
[-] test_filelist.py
[edit]
[-] test_pyparse.py
[edit]
[-] test_stackviewer.py
[edit]
[-] test_autoexpand.py
[edit]
[-] test_undo.py
[edit]
[-] test_search.py
[edit]
[-] test_tree.py
[edit]
[-] test_editor.py
[edit]
[-] test_calltip.py
[edit]
[-] test_pyshell.py
[edit]
[-] test_config.py
[edit]
[-] test_statusbar.py
[edit]