Commit f74805b2 authored by Terry Jan Reedy's avatar Terry Jan Reedy

Issue #21477: Update htest docstring and remove extraneous differences between

2.7 and 3.4. Original patch by Saimadhav Heblikar.
parent e047f56b
'''Run human tests of Idle's window, dialog, and popup widgets.
run(test): run *test*, a callable that causes a widget to be displayed.
runall(): run all tests defined in this file.
run(*tests)
Run each callable in tests after finding the matching test spec in this file.
If there are none, run an htest for each spec dict in this file after finding
the matching callable in the module named in the spec.
Let X be a global name bound to a widget callable. End the module with
In a tested module, let X be a global name bound to a widget callable.
End the module with
if __name__ == '__main__':
<unittest, if there is one>
......@@ -13,9 +16,9 @@ if __name__ == '__main__':
The X object must have a .__name__ attribute and a 'parent' parameter.
X will often be a widget class, but a callable instance with .__name__
or a wrapper function also work. The name of wrapper functions, like
'_editor_Window', should start with '_'.
'_editor_window', should start with '_'.
This file must contain a matching instance of the folling template,
This file must contain a matching instance of the following template,
with X.__name__ prepended, as in '_editor_window_spec ...'.
_spec = {
......@@ -24,11 +27,17 @@ _spec = {
'msg': ""
}
file (no .py): used in runall() to import the file and get X.
file (no .py): used in run() to import the file and get X.
kwds: passed to X (**kwds), after 'parent' is added, to initialize X.
title: an example; used for some widgets, delete if not.
msg: displayed in a master window. Hints as to how the user might
test the widget. Close the window to skip or end the test.
Modules not being tested at the moment:
PyShell.PyShellEditorWindow
Debugger.Debugger
AutoCompleteWindow.AutoCompleteWindow
OutputWindow.OutputWindow (indirectly being tested with grep test)
'''
from importlib import import_module
from idlelib.macosxSupport import _initializeTkVariantTests
......@@ -94,7 +103,7 @@ _dyn_option_menu_spec = {
_editor_window_spec = {
'file': 'EditorWindow',
'kwds': {},
'msg': "Test editor functions of interest"
'msg': "Test editor functions of interest."
}
GetCfgSectionNameDialog_spec = {
......@@ -305,7 +314,6 @@ def run(*tests):
scrollbar.pack(side='right', fill='y', expand=False)
text.pack(side='left', fill='both', expand=True)
test_list = [] # List of tuples of the form (spec, callable widget)
if tests:
for test in tests:
......@@ -333,7 +341,7 @@ def run(*tests):
test_spec, callable_object[0] = test_list.pop()
test_kwds[0] = test_spec['kwds']
test_kwds[0]['parent'] = root
test_name[0].set('test ' + test_spec['name'])
test_name[0].set('Test ' + test_spec['name'])
text.configure(state='normal') # enable text editing
text.delete('1.0','end')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment