mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
A custom type defined by typing.NewType was rendered as a function because the generated type is a function having special attributes. This renders it as a variable. Note: The module name where the NewType object defined is lost on generating it. So it is hard to make cross-reference for these custom types.
91 lines
2.3 KiB
Python
91 lines
2.3 KiB
Python
"""
|
|
test_ext_autodoc_autodata
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
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 sys
|
|
|
|
import pytest
|
|
|
|
from .test_ext_autodoc import do_autodoc
|
|
|
|
|
|
@pytest.mark.sphinx('html', testroot='ext-autodoc')
|
|
def test_autodata(app):
|
|
actual = do_autodoc(app, 'data', 'target.integer')
|
|
assert list(actual) == [
|
|
'',
|
|
'.. py:data:: integer',
|
|
' :module: target',
|
|
' :value: 1',
|
|
'',
|
|
' documentation for the integer',
|
|
'',
|
|
]
|
|
|
|
|
|
@pytest.mark.sphinx('html', testroot='ext-autodoc')
|
|
def test_autodata_novalue(app):
|
|
options = {'no-value': True}
|
|
actual = do_autodoc(app, 'data', 'target.integer', options)
|
|
assert list(actual) == [
|
|
'',
|
|
'.. py:data:: integer',
|
|
' :module: target',
|
|
'',
|
|
' documentation for the integer',
|
|
'',
|
|
]
|
|
|
|
|
|
@pytest.mark.skipif(sys.version_info < (3, 6), reason='python 3.6+ is required.')
|
|
@pytest.mark.sphinx('html', testroot='ext-autodoc')
|
|
def test_autodata_typed_variable(app):
|
|
actual = do_autodoc(app, 'data', 'target.typed_vars.attr2')
|
|
assert list(actual) == [
|
|
'',
|
|
'.. py:data:: attr2',
|
|
' :module: target.typed_vars',
|
|
' :type: str',
|
|
'',
|
|
' attr2',
|
|
'',
|
|
]
|
|
|
|
|
|
@pytest.mark.skipif(sys.version_info < (3, 6), reason='python 3.6+ is required.')
|
|
@pytest.mark.sphinx('html', testroot='ext-autodoc')
|
|
def test_autodata_type_comment(app):
|
|
actual = do_autodoc(app, 'data', 'target.typed_vars.attr3')
|
|
assert list(actual) == [
|
|
'',
|
|
'.. py:data:: attr3',
|
|
' :module: target.typed_vars',
|
|
' :type: str',
|
|
" :value: ''",
|
|
'',
|
|
' attr3',
|
|
'',
|
|
]
|
|
|
|
|
|
@pytest.mark.sphinx('html', testroot='ext-autodoc')
|
|
def test_autodata_NewType(app):
|
|
actual = do_autodoc(app, 'data', 'target.typevar.T6')
|
|
assert list(actual) == [
|
|
'',
|
|
'.. py:data:: T6',
|
|
' :module: target.typevar',
|
|
'',
|
|
' T6',
|
|
'',
|
|
' alias of :class:`int`',
|
|
'',
|
|
]
|