Download lib/python3.9/idlelib/idle_test/test_mainmenu.py from camenduru/slahmr-test: direct link, hf CLI and curl.
- Browser
- Download file 1.64 kB
-
https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/idlelib/idle_test/test_mainmenu.py
- Command line
-
hf download hf://camenduru/slahmr-test/lib/python3.9/idlelib/idle_test/test_mainmenu.py
-
curl -L -o test_mainmenu.py https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/idlelib/idle_test/test_mainmenu.py
1.64 kB
| "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) | |