Test recognition of a documented instance of a class as a non-imported member of the module

This commit is contained in:
Matyas Novak 2022-03-14 23:31:33 +01:00
parent d955098ef9
commit 07b2a050c7
3 changed files with 23 additions and 12 deletions

View File

@ -0,0 +1,2 @@
class Class():
pass

View File

@ -1,5 +1,6 @@
from os import path # NOQA
from typing import Union
from autosummary_class_module import Class
__all__ = [
"CONSTANT1",
@ -60,3 +61,7 @@ class _Exc(Exception):
qux = 2
#: a module-level attribute that has been excluded from __all__
quuz = 2
considered_as_imported = Class()
non_imported_member = Class()
""" This attribute has a docstring, so it is recognized as a not-imported member """

View File

@ -218,15 +218,15 @@ def test_autosummary_generate_content_for_module(app):
assert context['members'] == ['CONSTANT1', 'CONSTANT2', 'Exc', 'Foo', '_Baz', '_Exc',
'__all__', '__builtins__', '__cached__', '__doc__',
'__file__', '__name__', '__package__', '_quux', 'bar',
'quuz', 'qux']
'non_imported_member', 'quuz', 'qux']
assert context['functions'] == ['bar']
assert context['all_functions'] == ['_quux', 'bar']
assert context['classes'] == ['Foo']
assert context['all_classes'] == ['Foo', '_Baz']
assert context['exceptions'] == ['Exc']
assert context['all_exceptions'] == ['Exc', '_Exc']
assert context['attributes'] == ['CONSTANT1', 'qux', 'quuz']
assert context['all_attributes'] == ['CONSTANT1', 'qux', 'quuz']
assert context['attributes'] == ['CONSTANT1', 'qux', 'quuz', 'non_imported_member']
assert context['all_attributes'] == ['CONSTANT1', 'qux', 'quuz', 'non_imported_member']
assert context['fullname'] == 'autosummary_dummy_module'
assert context['module'] == 'autosummary_dummy_module'
assert context['objname'] == ''
@ -276,7 +276,8 @@ def test_autosummary_generate_content_for_module_skipped(app):
context = template.render.call_args[0][1]
assert context['members'] == ['CONSTANT1', 'CONSTANT2', '_Baz', '_Exc', '__all__',
'__builtins__', '__cached__', '__doc__', '__file__',
'__name__', '__package__', '_quux', 'quuz', 'qux']
'__name__', '__package__', '_quux', 'non_imported_member',
'quuz', 'qux']
assert context['functions'] == []
assert context['classes'] == []
assert context['exceptions'] == []
@ -292,18 +293,20 @@ def test_autosummary_generate_content_for_module_imported_members(app):
assert template.render.call_args[0][0] == 'module'
context = template.render.call_args[0][1]
assert context['members'] == ['CONSTANT1', 'CONSTANT2', 'Exc', 'Foo', 'Union', '_Baz',
'_Exc', '__all__', '__builtins__', '__cached__', '__doc__',
'__file__', '__loader__', '__name__', '__package__',
'__spec__', '_quux', 'bar', 'path', 'quuz', 'qux']
assert context['members'] == ['CONSTANT1', 'CONSTANT2', 'Class', 'Exc', 'Foo', 'Union',
'_Baz', '_Exc', '__all__', '__builtins__', '__cached__',
'__doc__', '__file__', '__loader__', '__name__',
'__package__', '__spec__', '_quux', 'bar',
'considered_as_imported', 'non_imported_member', 'path',
'quuz', 'qux']
assert context['functions'] == ['bar']
assert context['all_functions'] == ['_quux', 'bar']
assert context['classes'] == ['Foo']
assert context['all_classes'] == ['Foo', '_Baz']
assert context['classes'] == ['Class', 'Foo']
assert context['all_classes'] == ['Class', 'Foo', '_Baz']
assert context['exceptions'] == ['Exc']
assert context['all_exceptions'] == ['Exc', '_Exc']
assert context['attributes'] == ['CONSTANT1', 'qux', 'quuz']
assert context['all_attributes'] == ['CONSTANT1', 'qux', 'quuz']
assert context['attributes'] == ['CONSTANT1', 'qux', 'quuz', 'non_imported_member']
assert context['all_attributes'] == ['CONSTANT1', 'qux', 'quuz', 'non_imported_member']
assert context['fullname'] == 'autosummary_dummy_module'
assert context['module'] == 'autosummary_dummy_module'
assert context['objname'] == ''
@ -351,6 +354,7 @@ def test_autosummary_generate(app, status, warning):
' CONSTANT1\n'
' qux\n'
' quuz\n'
' non_imported_member\n'
' \n' in module)
Foo = (app.srcdir / 'generated' / 'autosummary_dummy_module.Foo.rst').read_text()