Bug #1560617: in pyclbr, return full module name not only for classes,

but also for functions.
This commit is contained in:
Georg Brandl 2006-09-30 11:06:47 +00:00
parent 05b3c450a8
commit 154324a8c3
3 changed files with 7 additions and 1 deletions

View File

@ -172,7 +172,7 @@ def _readmodule(module, path, inpackage=None):
# else it's a nested def
else:
# it's a function
dict[meth_name] = Function(module, meth_name, file, lineno)
dict[meth_name] = Function(fullmodule, meth_name, file, lineno)
stack.append((None, thisindent)) # Marker for nested fns
elif token == 'class':
lineno, thisindent = start

View File

@ -93,6 +93,9 @@ class PyclbrTest(TestCase):
py_item = getattr(module, name)
if isinstance(value, pyclbr.Function):
self.assert_(isinstance(py_item, (FunctionType, BuiltinFunctionType)))
if py_item.__module__ != moduleName:
continue # skip functions that came from somewhere else
self.assertEquals(py_item.__module__, value.module)
else:
self.failUnless(isinstance(py_item, (ClassType, type)))
if py_item.__module__ != moduleName:

View File

@ -63,6 +63,9 @@ Core and builtins
Library
-------
- Bug #1560617: in pyclbr, return full module name not only for classes,
but also for functions.
- Bug #1457823: cgi.(Sv)FormContentDict's constructor now takes
keep_blank_values and strict_parsing keyword arguments.