From 19c1a8725ca21882fff8d24891de3f9ff24458ba Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Mon, 20 Jul 2015 17:44:59 -0400 Subject: [PATCH] Issue #20792: Expand idle_test.test_pathbowser. Tweak file to not copy twice. Original patch by Saimadhav Heblikar. --- Lib/idlelib/PathBrowser.py | 10 ++++++---- Lib/idlelib/idle_test/test_pathbrowser.py | 17 ++++++++++++++++- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/Lib/idlelib/PathBrowser.py b/Lib/idlelib/PathBrowser.py index 58ff830b437..9ab7632f4db 100644 --- a/Lib/idlelib/PathBrowser.py +++ b/Lib/idlelib/PathBrowser.py @@ -17,6 +17,7 @@ class PathBrowser(ClassBrowser): self.init(flist) def settitle(self): + "Set window titles." self.top.wm_title("Path Browser") self.top.wm_iconname("Path Browser") @@ -69,16 +70,17 @@ class DirBrowserTreeItem(TreeItem): return sublist def ispackagedir(self, file): + " Return true for directories that are packages." if not os.path.isdir(file): - return 0 + return False init = os.path.join(file, "__init__.py") return os.path.exists(init) def listmodules(self, allnames): modules = {} suffixes = importlib.machinery.EXTENSION_SUFFIXES[:] - suffixes += importlib.machinery.SOURCE_SUFFIXES[:] - suffixes += importlib.machinery.BYTECODE_SUFFIXES[:] + suffixes += importlib.machinery.SOURCE_SUFFIXES + suffixes += importlib.machinery.BYTECODE_SUFFIXES sorted = [] for suff in suffixes: i = -len(suff) @@ -93,7 +95,7 @@ class DirBrowserTreeItem(TreeItem): sorted.sort() return sorted -def _path_browser(parent): +def _path_browser(parent): # htest # flist = PyShellFileList(parent) PathBrowser(flist, _htest=True) parent.mainloop() diff --git a/Lib/idlelib/idle_test/test_pathbrowser.py b/Lib/idlelib/idle_test/test_pathbrowser.py index 7ad7c97a79e..afb886fa330 100644 --- a/Lib/idlelib/idle_test/test_pathbrowser.py +++ b/Lib/idlelib/idle_test/test_pathbrowser.py @@ -1,5 +1,8 @@ import unittest -import idlelib.PathBrowser as PathBrowser +import os +import sys +import idlelib +from idlelib import PathBrowser class PathBrowserTest(unittest.TestCase): @@ -7,6 +10,18 @@ class PathBrowserTest(unittest.TestCase): # Issue16226 - make sure that getting a sublist works d = PathBrowser.DirBrowserTreeItem('') d.GetSubList() + self.assertEqual('', d.GetText()) + + dir = os.path.split(os.path.abspath(idlelib.__file__))[0] + self.assertEqual(d.ispackagedir(dir), True) + self.assertEqual(d.ispackagedir(dir + '/Icons'), False) + + def test_PathBrowserTreeItem(self): + p = PathBrowser.PathBrowserTreeItem() + self.assertEqual(p.GetText(), 'sys.path') + sub = p.GetSubList() + self.assertEqual(len(sub), len(sys.path)) + self.assertEqual(type(sub[0]), PathBrowser.DirBrowserTreeItem) if __name__ == '__main__': unittest.main(verbosity=2, exit=False)