Issue #21477: Update htest docstring and remove extraneous differences between
2.7 and 3.4. Original patch by Saimadhav Heblikar.
diff --git a/Lib/idlelib/idle_test/htest.py b/Lib/idlelib/idle_test/htest.py
index 38b1562..f6e02b8 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__':
     <unittest, if there is one>
@@ -13,9 +16,9 @@
 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 @@
     '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 @@
 _editor_window_spec = {
    'file': 'EditorWindow',
     'kwds': {},
-    'msg': "Test editor functions of interest"
+    'msg': "Test editor functions of interest."
     }
 
 GetCfgSectionNameDialog_spec = {
@@ -305,7 +314,6 @@
     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 @@
         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')