From f74805b2cba86a8235506bcde3f2b68aaa730d71 Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Sun, 1 Jun 2014 00:30:28 -0400 Subject: [PATCH] Issue #21477: Update htest docstring and remove extraneous differences between 2.7 and 3.4. Original patch by Saimadhav Heblikar. --- Lib/idlelib/idle_test/htest.py | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/Lib/idlelib/idle_test/htest.py b/Lib/idlelib/idle_test/htest.py index 38b1562a87..f6e02b8b67 100644 --- a/Lib/idlelib/idle_test/htest.py +++ b/Lib/idlelib/idle_test/htest.py @@ -1,9 +1,12 @@ '''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__': @@ -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') -- 2.50.1