From a0622f1071164bc67a307cfec1173c295901c4b9 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Thu, 21 Jun 2018 19:49:06 -0700 Subject: bpo-33905: Add test for idlelib.stackview.StackBrowser. (GH-7852) Increases coverage by 44%. (cherry picked from commit bcd3a1a18d841338f57c39f6a7de8cf14d0c3e03) Co-authored-by: Terry Jan Reedy --- Lib/idlelib/idle_test/test_stackviewer.py | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'Lib/idlelib/idle_test/test_stackviewer.py') diff --git a/Lib/idlelib/idle_test/test_stackviewer.py b/Lib/idlelib/idle_test/test_stackviewer.py index 3b8486a564..98f53f9537 100644 --- a/Lib/idlelib/idle_test/test_stackviewer.py +++ b/Lib/idlelib/idle_test/test_stackviewer.py @@ -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__': -- cgit v1.2.1