Bug #1441397: The compiler module now recognizes module and function

docstrings correctly as it did in Python 2.4.
This commit is contained in:
Georg Brandl 2006-07-29 09:33:26 +00:00
parent 9fd21e31b6
commit edd9b0dfb3
3 changed files with 12 additions and 0 deletions

View File

@ -1382,6 +1382,7 @@ _doc_nodes = [
symbol.testlist,
symbol.testlist_safe,
symbol.test,
symbol.or_test,
symbol.and_test,
symbol.not_test,
symbol.comparison,

View File

@ -68,6 +68,14 @@ class CompilerTest(unittest.TestCase):
def testDefaultArgs(self):
self.assertRaises(SyntaxError, compiler.parse, "def foo(a=1, b): pass")
def testDocstrings(self):
c = compiler.compile('"doc"', '<string>', 'exec')
self.assert_('__doc__' in c.co_names)
c = compiler.compile('def f():\n "doc"', '<string>', 'exec')
g = {}
exec c in g
self.assertEquals(g['f'].__doc__, "doc")
def testLineNo(self):
# Test that all nodes except Module have a correct lineno attribute.
filename = __file__

View File

@ -52,6 +52,9 @@ Core and builtins
Library
-------
- Bug #1441397: The compiler module now recognizes module and function
docstrings correctly as it did in Python 2.4.
- Bug #1529297: The rewrite of doctest for Python 2.4 unintentionally
lost that tests are sorted by name before being run. This rarely
matters for well-written tests, but can create baffling symptoms if