1 "Test pyshell, coverage 12%." 2 # Plus coverage of test_warning. Was 20% with test_openshell. 3 4 from idlelib import pyshell 5 import unittest 6 from test.support import requires 7 from tkinter import Tk 8 9 10 class PyShellFileListTest(unittest.TestCase): 11 12 @classmethod 13 def setUpClass(cls): 14 requires('gui') 15 cls.root = Tk() 16 cls.root.withdraw() 17 18 @classmethod 19 def tearDownClass(cls): 20 #cls.root.update_idletasks() 21 ## for id in cls.root.tk.call('after', 'info'): 22 ## cls.root.after_cancel(id) # Need for EditorWindow. 23 cls.root.destroy() 24 del cls.root 25 26 def test_init(self): 27 psfl = pyshell.PyShellFileList(self.root) 28 self.assertEqual(psfl.EditorWindow, pyshell.PyShellEditorWindow) 29 self.assertIsNone(psfl.pyshell) 30 31 # The following sometimes causes 'invalid command name "109734456recolorize"'. 32 # Uncommenting after_cancel above prevents this, but results in 33 # TclError: bad window path name ".!listedtoplevel.!frame.text" 34 # which is normally prevented by after_cancel. 35 ## def test_openshell(self): 36 ## pyshell.use_subprocess = False 37 ## ps = pyshell.PyShellFileList(self.root).open_shell() 38 ## self.assertIsInstance(ps, pyshell.PyShell) 39 40 41 if __name__ == '__main__': 42 unittest.main(verbosity=2) 43