/opt/alt/python37/lib64/python3.7/idlelib/idle_test
'''Test warnings replacement in pyshell.py and run.py. This file could be expanded to include traceback overrides (in same two modules). If so, change name. Revise if output destination changes (http://bugs.python.org/issue18318). Make sure warnings module is left unaltered (http://bugs.python.org/issue18081). ''' from idlelib import run from idlelib import pyshell as shell import unittest from test.support import captured_stderr import warnings # Try to capture default showwarning before Idle modules are imported. showwarning = warnings.showwarning # But if we run this file within idle, we are in the middle of the run.main loop # and default showwarnings has already been replaced. running_in_idle = 'idle' in showwarning.__name__ # The following was generated from pyshell.idle_formatwarning # and checked as matching expectation. idlemsg = ''' Warning (from warnings module): File "test_warning.py", line 99 Line of code UserWarning: Test ''' shellmsg = idlemsg + ">>> " class RunWarnTest(unittest.TestCase): @unittest.skipIf(running_in_idle, "Does not work when run within Idle.") def test_showwarnings(self): self.assertIs(warnings.showwarning, showwarning) run.capture_warnings(True) self.assertIs(warnings.showwarning, run.idle_showwarning_subproc) run.capture_warnings(False) self.assertIs(warnings.showwarning, showwarning) def test_run_show(self): with captured_stderr() as f: run.idle_showwarning_subproc( 'Test', UserWarning, 'test_warning.py', 99, f, 'Line of code') # The following uses .splitlines to erase line-ending differences self.assertEqual(idlemsg.splitlines(), f.getvalue().splitlines()) class ShellWarnTest(unittest.TestCase): @unittest.skipIf(running_in_idle, "Does not work when run within Idle.") def test_showwarnings(self): self.assertIs(warnings.showwarning, showwarning) shell.capture_warnings(True) self.assertIs(warnings.showwarning, shell.idle_showwarning) shell.capture_warnings(False) self.assertIs(warnings.showwarning, showwarning) def test_idle_formatter(self): # Will fail if format changed without regenerating idlemsg s = shell.idle_formatwarning( 'Test', UserWarning, 'test_warning.py', 99, 'Line of code') self.assertEqual(idlemsg, s) def test_shell_show(self): with captured_stderr() as f: shell.idle_showwarning( 'Test', UserWarning, 'test_warning.py', 99, f, 'Line of code') self.assertEqual(shellmsg.splitlines(), f.getvalue().splitlines()) if __name__ == '__main__': unittest.main(verbosity=2)
.
Edit
..
Edit
README.txt
Edit
__init__.py
Edit
__pycache__
Edit
htest.py
Edit
mock_idle.py
Edit
mock_tk.py
Edit
template.py
Edit
test_autocomplete.py
Edit
test_autocomplete_w.py
Edit
test_autoexpand.py
Edit
test_browser.py
Edit
test_calltip.py
Edit
test_calltip_w.py
Edit
test_codecontext.py
Edit
test_colorizer.py
Edit
test_config.py
Edit
test_config_key.py
Edit
test_configdialog.py
Edit
test_debugger.py
Edit
test_debugger_r.py
Edit
test_debugobj.py
Edit
test_debugobj_r.py
Edit
test_delegator.py
Edit
test_editmenu.py
Edit
test_editor.py
Edit
test_filelist.py
Edit
test_format.py
Edit
test_grep.py
Edit
test_help.py
Edit
test_help_about.py
Edit
test_history.py
Edit
test_hyperparser.py
Edit
test_iomenu.py
Edit
test_macosx.py
Edit
test_mainmenu.py
Edit
test_multicall.py
Edit
test_outwin.py
Edit
test_parenmatch.py
Edit
test_pathbrowser.py
Edit
test_percolator.py
Edit
test_pyparse.py
Edit
test_pyshell.py
Edit
test_query.py
Edit
test_redirector.py
Edit
test_replace.py
Edit
test_rpc.py
Edit
test_run.py
Edit
test_runscript.py
Edit
test_scrolledlist.py
Edit
test_search.py
Edit
test_searchbase.py
Edit
test_searchengine.py
Edit
test_sidebar.py
Edit
test_squeezer.py
Edit
test_stackviewer.py
Edit
test_statusbar.py
Edit
test_text.py
Edit
test_textview.py
Edit
test_tooltip.py
Edit
test_tree.py
Edit
test_undo.py
Edit
test_warning.py
Edit
test_window.py
Edit
test_zoomheight.py
Edit