mirror of
https://github.com/python/cpython.git
synced 2026-08-03 15:47:03 -04:00
Set the WM_CLASS of IDLE's long-lived windows (window-list windows and the stack viewers) to "Idle" instead of the default "Toplevel", so that window managers group and label them correctly.
44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
"Test stackviewer, coverage 63%."
|
|
|
|
from idlelib import stackviewer
|
|
import unittest
|
|
from test.support import requires
|
|
from tkinter import Tk
|
|
|
|
from idlelib.tree import TreeNode, ScrolledCanvas
|
|
|
|
|
|
class StackBrowserTest(unittest.TestCase):
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
|
|
requires('gui')
|
|
cls.root = Tk()
|
|
cls.root.withdraw()
|
|
|
|
@classmethod
|
|
def tearDownClass(cls):
|
|
|
|
cls.root.update_idletasks()
|
|
## for id in cls.root.after_info():
|
|
## cls.root.after_cancel(id) # Need for EditorWindow.
|
|
cls.root.destroy()
|
|
del cls.root
|
|
|
|
def test_init(self):
|
|
try:
|
|
abc
|
|
except NameError as exc:
|
|
sb = stackviewer.StackBrowser(self.root, exc)
|
|
isi = self.assertIsInstance
|
|
isi(stackviewer.sc, ScrolledCanvas)
|
|
isi(stackviewer.item, stackviewer.StackTreeItem)
|
|
isi(stackviewer.node, TreeNode)
|
|
top = stackviewer.sc.frame.winfo_toplevel()
|
|
self.assertEqual(top.winfo_class(), 'Idle')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main(verbosity=2)
|