mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Merge pull request #8595 from tk0miya/8594_empty_all
Fix #8594: autodoc: empty __all__ attribute is ignored
This commit is contained in:
commit
119ddf92ff
1
CHANGES
1
CHANGES
@ -25,6 +25,7 @@ Bugs fixed
|
||||
* #741: autodoc: inherited-members doesn't work for instance attributes on super
|
||||
class
|
||||
* #8592: autodoc: ``:meta public:`` does not effect to variables
|
||||
* #8594: autodoc: empty __all__ attribute is ignored
|
||||
|
||||
Testing
|
||||
--------
|
||||
|
@ -1074,7 +1074,7 @@ class ModuleDocumenter(Documenter):
|
||||
def get_object_members(self, want_all: bool) -> Tuple[bool, ObjectMembers]:
|
||||
members = self.get_module_members()
|
||||
if want_all:
|
||||
if not self.__all__:
|
||||
if self.__all__ is None:
|
||||
# for implicit module members, check __module__ to avoid
|
||||
# documenting imported objects
|
||||
return True, list(members.values())
|
||||
|
16
tests/roots/test-ext-autodoc/target/empty_all.py
Normal file
16
tests/roots/test-ext-autodoc/target/empty_all.py
Normal file
@ -0,0 +1,16 @@
|
||||
"""
|
||||
docsting of empty_all module.
|
||||
"""
|
||||
__all__ = []
|
||||
|
||||
|
||||
def foo():
|
||||
"""docstring"""
|
||||
|
||||
|
||||
def bar():
|
||||
"""docstring"""
|
||||
|
||||
|
||||
def baz():
|
||||
"""docstring"""
|
27
tests/test_ext_autodoc_automodule.py
Normal file
27
tests/test_ext_autodoc_automodule.py
Normal file
@ -0,0 +1,27 @@
|
||||
"""
|
||||
test_ext_autodoc_autocmodule
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Test the autodoc extension. This tests mainly the Documenters; the auto
|
||||
directives are tested in a test source file translated by test_build.
|
||||
|
||||
:copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS.
|
||||
:license: BSD, see LICENSE for details.
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
||||
from .test_ext_autodoc import do_autodoc
|
||||
|
||||
|
||||
@pytest.mark.sphinx('html', testroot='ext-autodoc')
|
||||
def test_empty_all(app):
|
||||
options = {'members': True}
|
||||
actual = do_autodoc(app, 'module', 'target.empty_all', options)
|
||||
assert list(actual) == [
|
||||
'',
|
||||
'.. py:module:: target.empty_all',
|
||||
'',
|
||||
'docsting of empty_all module.',
|
||||
'',
|
||||
]
|
Loading…
Reference in New Issue
Block a user