Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions Lib/idlelib/browser.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Class browser.
"""Module browser.

XXX TO DO:

Expand Down Expand Up @@ -55,7 +55,7 @@ def transform_children(child_dict, modname=None):
return sorted(obs, key=lambda o: o.lineno)


class ClassBrowser:
class ModuleBrowser:
"""Browse module classes and functions in IDLE.
"""
# This class is the base class for pathbrowser.PathBrowser.
Expand Down Expand Up @@ -122,8 +122,8 @@ def init(self, flist):

def settitle(self):
"Set the window title."
self.top.wm_title("Class Browser - " + self.name)
self.top.wm_iconname("Class Browser")
self.top.wm_title("Module Browser - " + self.name)
self.top.wm_iconname("Module Browser")

def rootnode(self):
"Return a ModuleBrowserTreeItem as the root of the tree."
Expand Down Expand Up @@ -226,7 +226,7 @@ def OnDoubleClick(self):
pass


def _class_browser(parent): # htest #
def _module_browser(parent): # htest #
try:
file = sys.argv[1] # If pass file on command line
# If this succeeds, unittest will fail.
Expand All @@ -242,10 +242,10 @@ class Nested_in_closure: pass
flist = pyshell.PyShellFileList(parent)
global file_open
file_open = flist.open
ClassBrowser(flist, name, [dir], _htest=True)
ModuleBrowser(flist, name, [dir], _htest=True)

if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_browser', verbosity=2, exit=False)
from idlelib.idle_test.htest import run
run(_class_browser)
run(_module_browser)
10 changes: 5 additions & 5 deletions Lib/idlelib/editor.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ def __init__(self, flist=None, filename=None, key=None, root=None):
flist.dict[key] = self
text.bind("<<open-new-window>>", self.new_callback)
text.bind("<<close-all-windows>>", self.flist.close_all_callback)
text.bind("<<open-class-browser>>", self.open_class_browser)
text.bind("<<open-class-browser>>", self.open_module_browser)
text.bind("<<open-path-browser>>", self.open_path_browser)
text.bind("<<open-turtle-demo>>", self.open_turtle_demo)

Expand Down Expand Up @@ -632,10 +632,10 @@ def goto_line_event(self, event):
def open_module(self):
"""Get module name from user and open it.

Return module path or None for calls by open_class_browser
Return module path or None for calls by open_module_browser
when latter is not invoked in named editor window.
"""
# XXX This, open_class_browser, and open_path_browser
# XXX This, open_module_browser, and open_path_browser
# would fit better in iomenu.IOBinding.
try:
name = self.text.get("sel.first", "sel.last").strip()
Expand All @@ -657,7 +657,7 @@ def open_module_event(self, event):
self.open_module()
return "break"

def open_class_browser(self, event=None):
def open_module_browser(self, event=None):
filename = self.io.filename
if not (self.__class__.__name__ == 'PyShellEditorWindow'
and filename):
Expand All @@ -667,7 +667,7 @@ def open_class_browser(self, event=None):
head, tail = os.path.split(filename)
base, ext = os.path.splitext(tail)
from idlelib import browser
browser.ClassBrowser(self.flist, base, [head])
browser.ModuleBrowser(self.flist, base, [head])
return "break"

def open_path_browser(self, event=None):
Expand Down
2 changes: 1 addition & 1 deletion Lib/idlelib/idle_test/htest.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ def _wrapper(parent): # htest #
"Typing ') should hide the calltip.\n"
}

_class_browser_spec = {
_module_browser_spec = {
'file': 'browser',
'kwds': {},
'msg': "Inspect names of module, class(with superclass if "
Expand Down
42 changes: 21 additions & 21 deletions Lib/idlelib/idle_test/test_browser.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from collections import deque


class ClassBrowserTest(unittest.TestCase):
class ModuleBrowserTest(unittest.TestCase):

@classmethod
def setUpClass(cls):
Expand All @@ -28,41 +28,41 @@ def setUpClass(cls):
cls.file = __file__
cls.path = os.path.dirname(cls.file)
cls.module = os.path.basename(cls.file).rstrip('.py')
cls.cb = browser.ClassBrowser(cls.flist, cls.module, [cls.path], _utest=True)
cls.mb = browser.ModuleBrowser(cls.flist, cls.module, [cls.path], _utest=True)

@classmethod
def tearDownClass(cls):
cls.cb.close()
cls.mb.close()
cls.root.destroy()
del cls.root, cls.flist, cls.cb
del cls.root, cls.flist, cls.mb

def test_init(self):
cb = self.cb
mb = self.mb
eq = self.assertEqual
eq(cb.name, self.module)
eq(cb.file, self.file)
eq(cb.flist, self.flist)
eq(mb.name, self.module)
eq(mb.file, self.file)
eq(mb.flist, self.flist)
eq(pyclbr._modules, {})
self.assertIsInstance(cb.node, TreeNode)
self.assertIsInstance(mb.node, TreeNode)

def test_settitle(self):
cb = self.cb
self.assertIn(self.module, cb.top.title())
self.assertEqual(cb.top.iconname(), 'Class Browser')
mb = self.mb
self.assertIn(self.module, mb.top.title())
self.assertEqual(mb.top.iconname(), 'Module Browser')

def test_rootnode(self):
cb = self.cb
rn = cb.rootnode()
mb = self.mb
rn = mb.rootnode()
self.assertIsInstance(rn, browser.ModuleBrowserTreeItem)

def test_close(self):
cb = self.cb
cb.top.destroy = Func()
cb.node.destroy = Func()
cb.close()
self.assertTrue(cb.top.destroy.called)
self.assertTrue(cb.node.destroy.called)
del cb.top.destroy, cb.node.destroy
mb = self.mb
mb.top.destroy = Func()
mb.node.destroy = Func()
mb.close()
self.assertTrue(mb.top.destroy.called)
self.assertTrue(mb.node.destroy.called)
del mb.top.destroy, mb.node.destroy


# Same nested tree creation as in test_pyclbr.py except for super on C0.
Expand Down
2 changes: 1 addition & 1 deletion Lib/idlelib/mainmenu.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
('_New File', '<<open-new-window>>'),
('_Open...', '<<open-window-from-file>>'),
('Open _Module...', '<<open-module>>'),
('Class _Browser', '<<open-class-browser>>'),
('Module _Browser', '<<open-class-browser>>'),
('_Path Browser', '<<open-path-browser>>'),
None,
('_Save', '<<save-window>>'),
Expand Down
4 changes: 2 additions & 2 deletions Lib/idlelib/pathbrowser.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
import os
import sys

from idlelib.browser import ClassBrowser, ModuleBrowserTreeItem
from idlelib.browser import ModuleBrowser, ModuleBrowserTreeItem
from idlelib.pyshell import PyShellFileList
from idlelib.tree import TreeItem


class PathBrowser(ClassBrowser):
class PathBrowser(ModuleBrowser):

def __init__(self, flist, _htest=False, _utest=False):
"""
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Rename IDLE's module browser from Class Browser to Module Browser.
The original module-level class and method browser became a module
browser, with the addition of module-level functions, years ago.
Nested classes and functions were added yesterday. For back-
compatibility, the virtual event <<open-class-browser>>, which
appears on the Keys tab of the Settings dialog, is not changed.
Patch by Cheryl Sabella.