mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Add a new extension `sphinx.ext.autodoc.preserve_defaults`. It preserves the default argument values of function signatures in source code and keep them not evaluated for readability. This is an experimental extension and it will be integrated into autodoc core in Sphinx-4.0.
46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
"""
|
|
test_ext_autodoc_preserve_defaults
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Test the autodoc extension.
|
|
|
|
:copyright: Copyright 2007-2021 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',
|
|
confoverrides={'autodoc_preserve_defaults': True})
|
|
def test_preserve_defaults(app):
|
|
options = {"members": None}
|
|
actual = do_autodoc(app, 'module', 'target.preserve_defaults', options)
|
|
assert list(actual) == [
|
|
'',
|
|
'.. py:module:: target.preserve_defaults',
|
|
'',
|
|
'',
|
|
'.. py:class:: Class()',
|
|
' :module: target.preserve_defaults',
|
|
'',
|
|
' docstring',
|
|
'',
|
|
'',
|
|
' .. py:method:: Class.meth(name: str = CONSTANT, sentinal: Any = SENTINEL, '
|
|
'now: datetime.datetime = datetime.now()) -> None',
|
|
' :module: target.preserve_defaults',
|
|
'',
|
|
' docstring',
|
|
'',
|
|
'',
|
|
'.. py:function:: foo(name: str = CONSTANT, sentinal: Any = SENTINEL, now: '
|
|
'datetime.datetime = datetime.now()) -> None',
|
|
' :module: target.preserve_defaults',
|
|
'',
|
|
' docstring',
|
|
'',
|
|
]
|