forked from sphinx-doc/sphinx
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix sphinx-doc#8105: autodoc: the signature of decorated class is inc…
…orrect In sphinx-doc#7651, autodoc stops to undecorate the functions on getting the signature from the callables. But some kinds of decorators conceals the correct signature because they pass through their arguments via `(*args, **kwargs)`. This restarts to undecorate the functions again as before sphinx-doc#7651.
- Loading branch information
Showing
6 changed files
with
86 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
""" | ||
test_ext_autodoc_autoclass | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
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_decorators(app): | ||
actual = do_autodoc(app, 'class', 'target.decorator.Baz') | ||
assert list(actual) == [ | ||
'', | ||
'.. py:class:: Baz(name=None, age=None)', | ||
' :module: target.decorator', | ||
'', | ||
] | ||
|
||
actual = do_autodoc(app, 'class', 'target.decorator.Qux') | ||
assert list(actual) == [ | ||
'', | ||
'.. py:class:: Qux(name=None, age=None)', | ||
' :module: target.decorator', | ||
'', | ||
] | ||
|
||
actual = do_autodoc(app, 'class', 'target.decorator.Quux') | ||
assert list(actual) == [ | ||
'', | ||
'.. py:class:: Quux(name=None, age=None)', | ||
' :module: target.decorator', | ||
'', | ||
] |