bpo-33905: Add test for idlelib.stackview.StackBrowser. (GH-7852)

Increases coverage by 44%.
This commit is contained in:
Terry Jan Reedy 2018-06-21 22:19:56 -04:00 committed by GitHub
parent 419e88d18c
commit bcd3a1a18d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 11 deletions

View file

@ -1,21 +1,34 @@
"Test stackviewer, coverage 19%."
"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
import sys
class Test(unittest.TestCase):
class StackBrowserTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
svs = stackviewer.sys
try:
abc
except NameError:
svs.last_type, svs.last_value, svs.last_traceback = (
sys.exc_info())
requires('gui')
cls.root = Tk()
cls.root.withdraw()
@classmethod
def tearDownClass(cls):
svs = stackviewer.sys
del svs.last_traceback, svs.last_type, svs.last_value
cls.root.update_idletasks()
## for id in cls.root.tk.call('after', 'info'):
## cls.root.after_cancel(id) # Need for EditorWindow.
@ -23,13 +36,11 @@ class Test(unittest.TestCase):
del cls.root
def test_init(self):
try:
zzz
except NameError as e:
ex = e
# Test runners suppress setting of sys.last_xyx, which stackviewer needs.
# Revise stackviewer so following works.
# stackviewer.StackBrowser(self.root, ex=exc)
sb = stackviewer.StackBrowser(self.root)
isi = self.assertIsInstance
isi(stackviewer.sc, ScrolledCanvas)
isi(stackviewer.item, stackviewer.StackTreeItem)
isi(stackviewer.node, TreeNode)
if __name__ == '__main__':