summaryrefslogtreecommitdiff
path: root/tests/test_pycode.py
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2021-12-18 15:22:10 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2021-12-19 12:53:15 +0900
commite7e08d2a784d1e87aded58186bff776d6de42213 (patch)
treeecaa301d979a75d2516fe3cced73e8323f9108b9 /tests/test_pycode.py
parent8d0fd9e74a6d44ca1a518225d9be030d91917c9b (diff)
downloadsphinx-git-e7e08d2a784d1e87aded58186bff776d6de42213.tar.gz
Fix #9968: autodoc: ivars are not shown if __init__ has posonlyargs
Diffstat (limited to 'tests/test_pycode.py')
-rw-r--r--tests/test_pycode.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/test_pycode.py b/tests/test_pycode.py
index bbcc42a52..e0e0fdb11 100644
--- a/tests/test_pycode.py
+++ b/tests/test_pycode.py
@@ -191,3 +191,18 @@ def test_ModuleAnalyzer_find_attr_docs():
'Qux': 15,
'Qux.attr1': 16,
'Qux.attr2': 17}
+
+
+@pytest.mark.skipif(sys.version_info < (3, 8),
+ reason='posonlyargs are available since python3.8.')
+def test_ModuleAnalyzer_find_attr_docs_for_posonlyargs_method():
+ code = ('class Foo(object):\n'
+ ' def __init__(self, /):\n'
+ ' self.attr = None #: attribute comment\n')
+ analyzer = ModuleAnalyzer.for_string(code, 'module')
+ docs = analyzer.find_attr_docs()
+ assert set(docs) == {('Foo', 'attr')}
+ assert docs[('Foo', 'attr')] == ['attribute comment', '']
+ assert analyzer.tagorder == {'Foo': 0,
+ 'Foo.__init__': 1,
+ 'Foo.attr': 2}