[issue21477] Idle: improve idle_test.htest

Saimadhav Heblikar report at bugs.python.org
Mon May 26 16:53:28 CEST 2014


Saimadhav Heblikar added the comment:

Summary for htest-26052014-34.diff and htest-26052014-27.diff
1. Adds htest for ReplaceDialog and SearchDialog
2. Removes the two canvases in TreeWidget as per code review comment. Now there is only a single ScrollableCanvas
3. Some text changes in spec dict messages

The corresponding 27 patch is to be applied on top of htest-25052014-27.diff.

Apart,

1. Wrt point 4 in msg219055, I think wrapper functions are required along with creating a new root.
It ensures the parent dialog is not destroyed, even 'accidently' and across different OS.
About the concern that clicking '[Next]' does not destroy the child:
We could have the following line in wrapper function(which creates a new root)-
 
    parent.child = root

and, in the "next()" in run():
    try:
        root.child.destroy()
    except AttributeError:
        pass

To make things more readable, we could perhaps change the 'root' in run() to 'parent' and ensure consistency.
With this, clicking '[Next]' destroys the child, before moving onto the next htest.
A drawback with this approach would be that, we would need to create a wrapper function for those tests which currently dont have one(See: configNameDialog, configHelpSource, GetKeysDialog etc.)



2. Htest's for GrepDialog, outputwindow, configDialog and Filelist are not progressing because of assert statements in macosxsupport.py.
I do not know the reasoning behind the assert statement either. Neither do I know how to 'ignore' it.
One way I found out is using the -O flag, but it is not pragmatic.
Another way is to have a macosxsupport._tk_type = "other" in the respective wrapper function.
But I do not know the effect of such a statement in a OSX environment.
If someone with a OSX environment wants to volunteer, please try running Lib/idlelib/configDialog.py with and without the insertion
macosxsupport._tk_type = "other". With the insertion, the configDialog works on a Linux gnome environment and doesn't without it.
Funnily enough, the configDialog works as-is in Win7 which I tried on a VM.
One way would be to insert the above statment only if its a *nix environment.

----------
Added file: http://bugs.python.org/file35368/htest-26052014-34.diff

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue21477>
_______________________________________


More information about the Python-bugs-list mailing list