1+ """ Test idlelib.pathbrowser.
2+ """
3+
4+
5+ import os .path
6+ import pyclbr # for _modules
7+ import sys # for sys.path
8+ from tkinter import Tk
9+
10+ from test .support import requires
111import unittest
2- import os
3- import sys
4- import idlelib
12+ from idlelib .idle_test .mock_idle import Func
13+
14+ import idlelib # for __file__
15+ from idlelib import browser
516from idlelib import pathbrowser
17+ from idlelib .tree import TreeNode
18+
619
720class PathBrowserTest (unittest .TestCase ):
821
22+ @classmethod
23+ def setUpClass (cls ):
24+ requires ('gui' )
25+ cls .root = Tk ()
26+ cls .root .withdraw ()
27+ cls .pb = pathbrowser .PathBrowser (cls .root , _utest = True )
28+
29+ @classmethod
30+ def tearDownClass (cls ):
31+ cls .pb .close ()
32+ cls .root .update_idletasks ()
33+ cls .root .destroy ()
34+ del cls .root , cls .pb
35+
36+ def test_init (self ):
37+ pb = self .pb
38+ eq = self .assertEqual
39+ eq (pb .master , self .root )
40+ eq (pyclbr ._modules , {})
41+ self .assertIsInstance (pb .node , TreeNode )
42+ self .assertIsNotNone (browser .file_open )
43+
44+ def test_settitle (self ):
45+ pb = self .pb
46+ self .assertEqual (pb .top .title (), 'Path Browser' )
47+ self .assertEqual (pb .top .iconname (), 'Path Browser' )
48+
49+ def test_rootnode (self ):
50+ pb = self .pb
51+ rn = pb .rootnode ()
52+ self .assertIsInstance (rn , pathbrowser .PathBrowserTreeItem )
53+
54+ def test_close (self ):
55+ pb = self .pb
56+ pb .top .destroy = Func ()
57+ pb .node .destroy = Func ()
58+ pb .close ()
59+ self .assertTrue (pb .top .destroy .called )
60+ self .assertTrue (pb .node .destroy .called )
61+ del pb .top .destroy , pb .node .destroy
62+
63+
64+ class DirBrowserTreeItemTest (unittest .TestCase ):
65+
966 def test_DirBrowserTreeItem (self ):
1067 # Issue16226 - make sure that getting a sublist works
1168 d = pathbrowser .DirBrowserTreeItem ('' )
@@ -16,12 +73,16 @@ def test_DirBrowserTreeItem(self):
1673 self .assertEqual (d .ispackagedir (dir ), True )
1774 self .assertEqual (d .ispackagedir (dir + '/Icons' ), False )
1875
76+
77+ class PathBrowserTreeItemTest (unittest .TestCase ):
78+
1979 def test_PathBrowserTreeItem (self ):
2080 p = pathbrowser .PathBrowserTreeItem ()
2181 self .assertEqual (p .GetText (), 'sys.path' )
2282 sub = p .GetSubList ()
2383 self .assertEqual (len (sub ), len (sys .path ))
2484 self .assertEqual (type (sub [0 ]), pathbrowser .DirBrowserTreeItem )
2585
86+
2687if __name__ == '__main__' :
2788 unittest .main (verbosity = 2 , exit = False )
0 commit comments