Terry J. Reedy added the comment:

0. I pushed a slight revision of the patch. See 2) for the main change. In 
htest, I also did 3), corrected some line spacing issues, and changed 
'focussing' to the US spelling 'focusing'. A tested 2.7 version of the 
attached, htest-25052014-34.py, is top priority.

1. parent.mainloop() - ClassBrower, EditorWindow, PathBrowser: since mainloop 
is already running, this should have no effect. I had no problem with closing 
of child window closing parent. Perhaps there is an OS difference, perhaps 
related to the focus difference. Or this might even be a tk or tkinter bug in 
not masking OS differences. If the line is necessary for #nix, it seems 
harmless on Windows.

2. Let us remember that the purpose of htest is to test what cannot be sensibly 
tested with automated unittests. That includes the visual look of widgets and 
some behaviors that either cannot be automatically tested or that we currently 
do not know how to test.

The format paragragh methods and functions are well tested, better than a human 
will, in the current test_formatgraph unittest. I removed this part of the 
patch. (But see 5. below about moving it.)

When I wrote the notes that became htest.txt, a year ago, I had not written any 
tests other than for calltips. I listed almost all the files that had existig 
tests.  So don't add new tests not mentioned in htest.txt without discussion. 
And question the existing and proposed tests listed there.

For instance, I presume we can use the Text.tag_methods to write an automated 
ColorDelegator test that checks that tagged words are as expected and that 
colors match the configured values. We can leave the current test (with patch), 
until replaced.


3. Class/PathBrowser: not only does double clicking 'not work', it causes an 
exception to be printed to console or shell, but which seems to be ignored as 
test continues. The exception is either like this

Exception in Tkinter callback
Traceback (most recent call last):
  File "F:\Python\dev\4\py34\lib\idlelib\run.py", line 121, in main
    seq, request = rpc.request_queue.get(block=True, timeout=0.05)
  File "F:\Python\dev\4\py34\lib\queue.py", line 175, in get
    raise Empty
queue.Empty

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "F:\Python\dev\4\py34\lib\tkinter\__init__.py", line 1487, in __call__
    return self.func(*args)
  File "F:\Python\dev\4\py34\lib\idlelib\TreeWidget.py", line 122, in flip
    self.item.OnDoubleClick()
  File "F:\Python\dev\4\py34\Lib\idlelib\ClassBrowser.py", line 174, in 
OnDoubleClick
    edit = PyShell.flist.open(self.file)
AttributeError: 'module' object has no attribute 'flist'

or with just the AttributeError. Unless and until we can suppress the 
traceback, the message should be changed from 'not work' to 'will print a 
traceback for an exception that is ignored'. [done]

4. Please comment on point 4 in msg219055.

5. Possible followup idea: By reviewing and running tests for classes I have 
not previously paid attention to, I learned something about them.  After htest 
is done, polish the test explanations as appropriate to explain each class to 
someone not familiar with it. Revise run() to start as follows: 

def run(*tests, *, test_list=None):
    if test_list is None: test_list = []

Add htour.py (for instance) with a callable and spec for non-htested classes 
(and behaviors). It could begin like this
---
from idlelib.idle_test.htest import run

def _format_paragraph(parent): ...(such as in current patch)

_format_paragraph_spec = ...(such as in current patch)

tour_list = [(_format_paragraph, _format_paragraph_spec),]
# automate by scanning globals for callables and grabbing matching specs

run(test_list=tour_list)
---
This should be a separate issue that follows on this one. If you feel like 
expanding the above to a preliminary patch, go ahead.

6. For me, many of the htest geometry increments are too small. Example:
root.geometry("+%d+%d"%(x, y + 150) # percolator

----------
Added file: http://bugs.python.org/file35356/htest-25052014-34.diff

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue21477>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to