summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sphinx/pycode/parser.py1
-rw-r--r--tests/test_pycode_parser.py12
2 files changed, 13 insertions, 0 deletions
diff --git a/sphinx/pycode/parser.py b/sphinx/pycode/parser.py
index d488842e9..9b5cb13c9 100644
--- a/sphinx/pycode/parser.py
+++ b/sphinx/pycode/parser.py
@@ -336,6 +336,7 @@ class VariableCommentPicker(ast.NodeVisitor):
self.current_classes.append(node.name)
self.add_entry(node.name)
self.context.append(node.name)
+ self.previous = node
for child in node.body:
self.visit(child)
self.context.pop()
diff --git a/tests/test_pycode_parser.py b/tests/test_pycode_parser.py
index cfea2ca00..8b7a945d4 100644
--- a/tests/test_pycode_parser.py
+++ b/tests/test_pycode_parser.py
@@ -226,6 +226,18 @@ def test_nested_class():
'Foo.Bar.attr2': 3}
+def test_class_comment():
+ source = ('import logging\n'
+ 'logger = logging.getLogger(__name__)\n'
+ '\n'
+ 'class Foo(object):\n'
+ ' """Bar"""\n')
+ parser = Parser(source)
+ parser.parse()
+ assert parser.comments == {}
+ assert parser.definitions == {'Foo': ('class', 4, 5)}
+
+
def test_comment_picker_multiline_string():
source = ('class Foo(object):\n'
' a = None\n'