dev-python/sphinx-autodoc-typehints: replace patch with sed lines

Package-Manager: Portage-2.3.93, Repoman-2.3.20
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@riseup.net>
This commit is contained in:
Andrew Ammerlaan
2020-03-09 18:42:35 +01:00
parent db5b7daa71
commit 2402a53b05
2 changed files with 13 additions and 773 deletions

View File

@@ -1,772 +0,0 @@
diff --git a/tests/test_sphinx_autodoc_typehints.py b/tests/test_sphinx_autodoc_typehints.py
index 4287385..75bcf20 100644
--- a/tests/test_sphinx_autodoc_typehints.py
+++ b/tests/test_sphinx_autodoc_typehints.py
@@ -58,142 +58,142 @@ class Metaclass(type):
pass
-@pytest.mark.parametrize('annotation, module, class_name, args', [
- pytest.param(str, 'builtins', 'str', (), id='str'),
- pytest.param(None, 'builtins', 'None', (), id='None'),
- pytest.param(Any, 'typing', 'Any', (), id='Any'),
- pytest.param(AnyStr, 'typing', 'AnyStr', (), id='AnyStr'),
- pytest.param(Dict, 'typing', 'Dict', (), id='Dict'),
- pytest.param(Dict[str, int], 'typing', 'Dict', (str, int), id='Dict_parametrized'),
- pytest.param(Dict[T, int], 'typing', 'Dict', (T, int), id='Dict_typevar'),
- pytest.param(Tuple, 'typing', 'Tuple', (), id='Tuple'),
- pytest.param(Tuple[str, int], 'typing', 'Tuple', (str, int), id='Tuple_parametrized'),
- pytest.param(Union[str, int], 'typing', 'Union', (str, int), id='Union'),
- pytest.param(Callable, 'typing', 'Callable', (), id='Callable'),
- pytest.param(Callable[..., str], 'typing', 'Callable', (..., str), id='Callable_returntype'),
- pytest.param(Callable[[int, str], str], 'typing', 'Callable', (int, str, str),
- id='Callable_all_types'),
- pytest.param(Pattern, 'typing', 'Pattern', (), id='Pattern'),
- pytest.param(Pattern[str], 'typing', 'Pattern', (str,), id='Pattern_parametrized'),
- pytest.param(Match, 'typing', 'Match', (), id='Match'),
- pytest.param(Match[str], 'typing', 'Match', (str,), id='Match_parametrized'),
- pytest.param(IO, 'typing', 'IO', (), id='IO'),
- pytest.param(W, 'typing', 'NewType', (str,), id='W'),
- pytest.param(Metaclass, __name__, 'Metaclass', (), id='Metaclass'),
- pytest.param(Slotted, __name__, 'Slotted', (), id='Slotted'),
- pytest.param(A, __name__, 'A', (), id='A'),
- pytest.param(B, __name__, 'B', (), id='B'),
- pytest.param(C, __name__, 'C', (), id='C'),
- pytest.param(D, __name__, 'D', (), id='D'),
- pytest.param(E, __name__, 'E', (), id='E'),
- pytest.param(E[int], __name__, 'E', (int,), id='E_parametrized'),
- pytest.param(A.Inner, __name__, 'A.Inner', (), id='Inner')
-])
-def test_parse_annotation(annotation, module, class_name, args):
- assert get_annotation_module(annotation) == module
- assert get_annotation_class_name(annotation, module) == class_name
- assert get_annotation_args(annotation, module, class_name) == args
-
-
-@pytest.mark.parametrize('annotation, expected_result', [
- (str, ':py:class:`str`'),
- (int, ':py:class:`int`'),
- (type(None), '``None``'),
- (type, ':py:class:`type`'),
- (Type, ':py:class:`~typing.Type`'),
- (Type[A], ':py:class:`~typing.Type`\\[:py:class:`~%s.A`]' % __name__),
- (Any, ':py:data:`~typing.Any`'),
- (AnyStr, ':py:data:`~typing.AnyStr`'),
- (Generic[T], ':py:class:`~typing.Generic`\\[\\~T]'),
- (Mapping, ':py:class:`~typing.Mapping`'),
- (Mapping[T, int], ':py:class:`~typing.Mapping`\\[\\~T, :py:class:`int`]'),
- (Mapping[str, V], ':py:class:`~typing.Mapping`\\[:py:class:`str`, \\-V]'),
- (Mapping[T, U], ':py:class:`~typing.Mapping`\\[\\~T, \\+U]'),
- (Mapping[str, bool], ':py:class:`~typing.Mapping`\\[:py:class:`str`, '
- ':py:class:`bool`]'),
- (Dict, ':py:class:`~typing.Dict`'),
- (Dict[T, int], ':py:class:`~typing.Dict`\\[\\~T, :py:class:`int`]'),
- (Dict[str, V], ':py:class:`~typing.Dict`\\[:py:class:`str`, \\-V]'),
- (Dict[T, U], ':py:class:`~typing.Dict`\\[\\~T, \\+U]'),
- (Dict[str, bool], ':py:class:`~typing.Dict`\\[:py:class:`str`, '
- ':py:class:`bool`]'),
- (Tuple, ':py:data:`~typing.Tuple`'),
- (Tuple[str, bool], ':py:data:`~typing.Tuple`\\[:py:class:`str`, '
- ':py:class:`bool`]'),
- (Tuple[int, int, int], ':py:data:`~typing.Tuple`\\[:py:class:`int`, '
- ':py:class:`int`, :py:class:`int`]'),
- (Tuple[str, ...], ':py:data:`~typing.Tuple`\\[:py:class:`str`, ...]'),
- (Union, ':py:data:`~typing.Union`'),
- (Union[str, bool], ':py:data:`~typing.Union`\\[:py:class:`str`, '
- ':py:class:`bool`]'),
- pytest.param(Union[str, Any], ':py:data:`~typing.Union`\\[:py:class:`str`, '
- ':py:data:`~typing.Any`]',
- marks=pytest.mark.skipif((3, 5, 0) <= sys.version_info[:3] <= (3, 5, 2),
- reason='Union erases the str on 3.5.0 -> 3.5.2')),
- (Optional[str], ':py:data:`~typing.Optional`\\[:py:class:`str`]'),
- (Callable, ':py:data:`~typing.Callable`'),
- (Callable[..., int], ':py:data:`~typing.Callable`\\[..., :py:class:`int`]'),
- (Callable[[int], int], ':py:data:`~typing.Callable`\\[\\[:py:class:`int`], '
- ':py:class:`int`]'),
- (Callable[[int, str], bool], ':py:data:`~typing.Callable`\\[\\[:py:class:`int`, '
- ':py:class:`str`], :py:class:`bool`]'),
- (Callable[[int, str], None], ':py:data:`~typing.Callable`\\[\\[:py:class:`int`, '
- ':py:class:`str`], ``None``]'),
- (Callable[[T], T], ':py:data:`~typing.Callable`\\[\\[\\~T], \\~T]'),
- (Pattern, ':py:class:`~typing.Pattern`'),
- (Pattern[str], ':py:class:`~typing.Pattern`\\[:py:class:`str`]'),
- (IO, ':py:class:`~typing.IO`'),
- (Metaclass, ':py:class:`~%s.Metaclass`' % __name__),
- (A, ':py:class:`~%s.A`' % __name__),
- (B, ':py:class:`~%s.B`' % __name__),
- (B[int], ':py:class:`~%s.B`\\[:py:class:`int`]' % __name__),
- (C, ':py:class:`~%s.C`' % __name__),
- (D, ':py:class:`~%s.D`' % __name__),
- (E, ':py:class:`~%s.E`' % __name__),
- (E[int], ':py:class:`~%s.E`\\[:py:class:`int`]' % __name__),
- (W, ':py:func:`~typing.NewType`\\(:py:data:`~W`, :py:class:`str`)')
-])
-def test_format_annotation(inv, annotation, expected_result):
- result = format_annotation(annotation)
- assert result == expected_result
-
- # Test with the "fully_qualified" flag turned on
- if 'typing' in expected_result or __name__ in expected_result:
- expected_result = expected_result.replace('~typing', 'typing')
- expected_result = expected_result.replace('~' + __name__, __name__)
- assert format_annotation(annotation, fully_qualified=True) == expected_result
-
- # Test for the correct role (class vs data) using the official Sphinx inventory
- if 'typing' in expected_result:
- m = re.match('^:py:(?P<role>class|data|func):`~(?P<name>[^`]+)`', result)
- assert m, 'No match'
- name = m.group('name')
- expected_role = next((o.role for o in inv.objects if o.name == name), None)
- if expected_role:
- if expected_role == 'function':
- expected_role = 'func'
-
- assert m.group('role') == expected_role
-
-
-@pytest.mark.parametrize('library', [typing, typing_extensions],
- ids=['typing', 'typing_extensions'])
-@pytest.mark.parametrize('annotation, params, expected_result', [
- ('ClassVar', int, ":py:data:`~typing.ClassVar`\\[:py:class:`int`]"),
- ('NoReturn', None, ":py:data:`~typing.NoReturn`"),
- ('Literal', ('a', 1), ":py:data:`~typing.Literal`\\['a', 1]"),
- ('Type', None, ':py:class:`~typing.Type`'),
- ('Type', (A,), ':py:class:`~typing.Type`\\[:py:class:`~%s.A`]' % __name__)
-])
-def test_format_annotation_both_libs(inv, library, annotation, params, expected_result):
- try:
- annotation_cls = getattr(library, annotation)
- except AttributeError:
- pytest.skip('{} not available in the {} module'.format(annotation, library.__name__))
-
- ann = annotation_cls if params is None else annotation_cls[params]
- result = format_annotation(ann)
- assert result == expected_result
+# @pytest.mark.parametrize('annotation, module, class_name, args', [
+# pytest.param(str, 'builtins', 'str', (), id='str'),
+# pytest.param(None, 'builtins', 'None', (), id='None'),
+# pytest.param(Any, 'typing', 'Any', (), id='Any'),
+# pytest.param(AnyStr, 'typing', 'AnyStr', (), id='AnyStr'),
+# pytest.param(Dict, 'typing', 'Dict', (), id='Dict'),
+# pytest.param(Dict[str, int], 'typing', 'Dict', (str, int), id='Dict_parametrized'),
+# pytest.param(Dict[T, int], 'typing', 'Dict', (T, int), id='Dict_typevar'),
+# pytest.param(Tuple, 'typing', 'Tuple', (), id='Tuple'),
+# pytest.param(Tuple[str, int], 'typing', 'Tuple', (str, int), id='Tuple_parametrized'),
+# pytest.param(Union[str, int], 'typing', 'Union', (str, int), id='Union'),
+# pytest.param(Callable, 'typing', 'Callable', (), id='Callable'),
+# pytest.param(Callable[..., str], 'typing', 'Callable', (..., str), id='Callable_returntype'),
+# pytest.param(Callable[[int, str], str], 'typing', 'Callable', (int, str, str),
+# id='Callable_all_types'),
+# pytest.param(Pattern, 'typing', 'Pattern', (), id='Pattern'),
+# pytest.param(Pattern[str], 'typing', 'Pattern', (str,), id='Pattern_parametrized'),
+# pytest.param(Match, 'typing', 'Match', (), id='Match'),
+# pytest.param(Match[str], 'typing', 'Match', (str,), id='Match_parametrized'),
+# pytest.param(IO, 'typing', 'IO', (), id='IO'),
+# pytest.param(W, 'typing', 'NewType', (str,), id='W'),
+# pytest.param(Metaclass, __name__, 'Metaclass', (), id='Metaclass'),
+# pytest.param(Slotted, __name__, 'Slotted', (), id='Slotted'),
+# pytest.param(A, __name__, 'A', (), id='A'),
+# pytest.param(B, __name__, 'B', (), id='B'),
+# pytest.param(C, __name__, 'C', (), id='C'),
+# pytest.param(D, __name__, 'D', (), id='D'),
+# pytest.param(E, __name__, 'E', (), id='E'),
+# pytest.param(E[int], __name__, 'E', (int,), id='E_parametrized'),
+# pytest.param(A.Inner, __name__, 'A.Inner', (), id='Inner')
+# ])
+# def test_parse_annotation(annotation, module, class_name, args):
+# assert get_annotation_module(annotation) == module
+# assert get_annotation_class_name(annotation, module) == class_name
+# assert get_annotation_args(annotation, module, class_name) == args
+
+
+# @pytest.mark.parametrize('annotation, expected_result', [
+# (str, ':py:class:`str`'),
+# (int, ':py:class:`int`'),
+# (type(None), '``None``'),
+# (type, ':py:class:`type`'),
+# (Type, ':py:class:`~typing.Type`'),
+# (Type[A], ':py:class:`~typing.Type`\\[:py:class:`~%s.A`]' % __name__),
+# (Any, ':py:data:`~typing.Any`'),
+# (AnyStr, ':py:data:`~typing.AnyStr`'),
+# (Generic[T], ':py:class:`~typing.Generic`\\[\\~T]'),
+# (Mapping, ':py:class:`~typing.Mapping`'),
+# (Mapping[T, int], ':py:class:`~typing.Mapping`\\[\\~T, :py:class:`int`]'),
+# (Mapping[str, V], ':py:class:`~typing.Mapping`\\[:py:class:`str`, \\-V]'),
+# (Mapping[T, U], ':py:class:`~typing.Mapping`\\[\\~T, \\+U]'),
+# (Mapping[str, bool], ':py:class:`~typing.Mapping`\\[:py:class:`str`, '
+# ':py:class:`bool`]'),
+# (Dict, ':py:class:`~typing.Dict`'),
+# (Dict[T, int], ':py:class:`~typing.Dict`\\[\\~T, :py:class:`int`]'),
+# (Dict[str, V], ':py:class:`~typing.Dict`\\[:py:class:`str`, \\-V]'),
+# (Dict[T, U], ':py:class:`~typing.Dict`\\[\\~T, \\+U]'),
+# (Dict[str, bool], ':py:class:`~typing.Dict`\\[:py:class:`str`, '
+# ':py:class:`bool`]'),
+# (Tuple, ':py:data:`~typing.Tuple`'),
+# (Tuple[str, bool], ':py:data:`~typing.Tuple`\\[:py:class:`str`, '
+# ':py:class:`bool`]'),
+# (Tuple[int, int, int], ':py:data:`~typing.Tuple`\\[:py:class:`int`, '
+# ':py:class:`int`, :py:class:`int`]'),
+# (Tuple[str, ...], ':py:data:`~typing.Tuple`\\[:py:class:`str`, ...]'),
+# (Union, ':py:data:`~typing.Union`'),
+# (Union[str, bool], ':py:data:`~typing.Union`\\[:py:class:`str`, '
+# ':py:class:`bool`]'),
+# pytest.param(Union[str, Any], ':py:data:`~typing.Union`\\[:py:class:`str`, '
+# ':py:data:`~typing.Any`]',
+# marks=pytest.mark.skipif((3, 5, 0) <= sys.version_info[:3] <= (3, 5, 2),
+# reason='Union erases the str on 3.5.0 -> 3.5.2')),
+# (Optional[str], ':py:data:`~typing.Optional`\\[:py:class:`str`]'),
+# (Callable, ':py:data:`~typing.Callable`'),
+# (Callable[..., int], ':py:data:`~typing.Callable`\\[..., :py:class:`int`]'),
+# (Callable[[int], int], ':py:data:`~typing.Callable`\\[\\[:py:class:`int`], '
+# ':py:class:`int`]'),
+# (Callable[[int, str], bool], ':py:data:`~typing.Callable`\\[\\[:py:class:`int`, '
+# ':py:class:`str`], :py:class:`bool`]'),
+# (Callable[[int, str], None], ':py:data:`~typing.Callable`\\[\\[:py:class:`int`, '
+# ':py:class:`str`], ``None``]'),
+# (Callable[[T], T], ':py:data:`~typing.Callable`\\[\\[\\~T], \\~T]'),
+# (Pattern, ':py:class:`~typing.Pattern`'),
+# (Pattern[str], ':py:class:`~typing.Pattern`\\[:py:class:`str`]'),
+# (IO, ':py:class:`~typing.IO`'),
+# (Metaclass, ':py:class:`~%s.Metaclass`' % __name__),
+# (A, ':py:class:`~%s.A`' % __name__),
+# (B, ':py:class:`~%s.B`' % __name__),
+# (B[int], ':py:class:`~%s.B`\\[:py:class:`int`]' % __name__),
+# (C, ':py:class:`~%s.C`' % __name__),
+# (D, ':py:class:`~%s.D`' % __name__),
+# (E, ':py:class:`~%s.E`' % __name__),
+# (E[int], ':py:class:`~%s.E`\\[:py:class:`int`]' % __name__),
+# (W, ':py:func:`~typing.NewType`\\(:py:data:`~W`, :py:class:`str`)')
+# ])
+# def test_format_annotation(inv, annotation, expected_result):
+# result = format_annotation(annotation)
+# assert result == expected_result
+
+# # Test with the "fully_qualified" flag turned on
+# if 'typing' in expected_result or __name__ in expected_result:
+# expected_result = expected_result.replace('~typing', 'typing')
+# expected_result = expected_result.replace('~' + __name__, __name__)
+# assert format_annotation(annotation, fully_qualified=True) == expected_result
+
+# # Test for the correct role (class vs data) using the official Sphinx inventory
+# if 'typing' in expected_result:
+# m = re.match('^:py:(?P<role>class|data|func):`~(?P<name>[^`]+)`', result)
+# assert m, 'No match'
+# name = m.group('name')
+# expected_role = next((o.role for o in inv.objects if o.name == name), None)
+# if expected_role:
+# if expected_role == 'function':
+# expected_role = 'func'
+
+# assert m.group('role') == expected_role
+
+
+# @pytest.mark.parametrize('library', [typing, typing_extensions],
+# ids=['typing', 'typing_extensions'])
+# @pytest.mark.parametrize('annotation, params, expected_result', [
+# ('ClassVar', int, ":py:data:`~typing.ClassVar`\\[:py:class:`int`]"),
+# ('NoReturn', None, ":py:data:`~typing.NoReturn`"),
+# ('Literal', ('a', 1), ":py:data:`~typing.Literal`\\['a', 1]"),
+# ('Type', None, ':py:class:`~typing.Type`'),
+# ('Type', (A,), ':py:class:`~typing.Type`\\[:py:class:`~%s.A`]' % __name__)
+# ])
+# def test_format_annotation_both_libs(inv, library, annotation, params, expected_result):
+# try:
+# annotation_cls = getattr(library, annotation)
+# except AttributeError:
+# pytest.skip('{} not available in the {} module'.format(annotation, library.__name__))
+
+# ann = annotation_cls if params is None else annotation_cls[params]
+# result = format_annotation(ann)
+# assert result == expected_result
def test_process_docstring_slot_wrapper():
@@ -202,304 +202,304 @@ def test_process_docstring_slot_wrapper():
assert not lines
-@pytest.mark.parametrize('always_document_param_types', [True, False])
-@pytest.mark.sphinx('text', testroot='dummy')
-def test_sphinx_output(app, status, warning, always_document_param_types):
- test_path = pathlib.Path(__file__).parent
+# @pytest.mark.parametrize('always_document_param_types', [True, False])
+# @pytest.mark.sphinx('text', testroot='dummy')
+# def test_sphinx_output(app, status, warning, always_document_param_types):
+# test_path = pathlib.Path(__file__).parent
- # Add test directory to sys.path to allow imports of dummy module.
- if str(test_path) not in sys.path:
- sys.path.insert(0, str(test_path))
+# # Add test directory to sys.path to allow imports of dummy module.
+# if str(test_path) not in sys.path:
+# sys.path.insert(0, str(test_path))
- app.config.always_document_param_types = always_document_param_types
- app.config.autodoc_mock_imports = ['mailbox']
- app.build()
+# app.config.always_document_param_types = always_document_param_types
+# app.config.autodoc_mock_imports = ['mailbox']
+# app.build()
- assert 'build succeeded' in status.getvalue() # Build succeeded
+# assert 'build succeeded' in status.getvalue() # Build succeeded
- # There should be a warning about an unresolved forward reference
- warnings = warning.getvalue().strip()
- assert 'Cannot resolve forward reference in type annotations of ' in warnings, warnings
+# # There should be a warning about an unresolved forward reference
+# warnings = warning.getvalue().strip()
+# assert 'Cannot resolve forward reference in type annotations of ' in warnings, warnings
- format_args = {}
- if always_document_param_types:
- format_args['undoc_params'] = '\n\n Parameters:\n **x** ("int") --'
- else:
- format_args['undoc_params'] = ""
+# format_args = {}
+# if always_document_param_types:
+# format_args['undoc_params'] = '\n\n Parameters:\n **x** ("int") --'
+# else:
+# format_args['undoc_params'] = ""
- if sys.version_info < (3, 6):
- format_args['dataclass_docstring'] = ('Initialize self. See help(type(self)) for '
- 'accurate signature.')
- else:
- format_args['dataclass_docstring'] = 'Return type:\n "None"'
+# if sys.version_info < (3, 6):
+# format_args['dataclass_docstring'] = ('Initialize self. See help(type(self)) for '
+# 'accurate signature.')
+# else:
+# format_args['dataclass_docstring'] = 'Return type:\n "None"'
- text_path = pathlib.Path(app.srcdir) / '_build' / 'text' / 'index.txt'
- with text_path.open('r') as f:
- text_contents = f.read().replace('', '--')
- expected_contents = textwrap.dedent('''\
- Dummy Module
- ************
+# text_path = pathlib.Path(app.srcdir) / '_build' / 'text' / 'index.txt'
+# with text_path.open('r') as f:
+# text_contents = f.read().replace('', '--')
+# expected_contents = textwrap.dedent('''\
+# Dummy Module
+# ************
- class dummy_module.Class(x, y, z=None)
+# class dummy_module.Class(x, y, z=None)
- Initializer docstring.
+# Initializer docstring.
- Parameters:
- * **x** ("bool") foo
+# Parameters:
+# * **x** ("bool") foo
- * **y** ("int") bar
+# * **y** ("int") bar
- * **z** ("Optional"["str"]) baz
+# * **z** ("Optional"["str"]) baz
- class InnerClass
+# class InnerClass
- Inner class.
+# Inner class.
- _InnerClass__dunder_inner_method(x)
+# _InnerClass__dunder_inner_method(x)
- Dunder inner method.
+# Dunder inner method.
- Parameters:
- **x** ("bool") -- foo
+# Parameters:
+# **x** ("bool") -- foo
- Return type:
- "str"
+# Return type:
+# "str"
- inner_method(x)
+# inner_method(x)
- Inner method.
+# Inner method.
- Parameters:
- **x** ("bool") -- foo
+# Parameters:
+# **x** ("bool") -- foo
- Return type:
- "str"
+# Return type:
+# "str"
- _Class__dunder_method(x)
+# _Class__dunder_method(x)
- Dunder method docstring.
+# Dunder method docstring.
- Parameters:
- **x** ("str") -- foo
+# Parameters:
+# **x** ("str") -- foo
- Return type:
- "str"
+# Return type:
+# "str"
- __magic_custom_method__(x)
+# __magic_custom_method__(x)
- Magic dunder method docstring.
+# Magic dunder method docstring.
- Parameters:
- **x** ("str") -- foo
+# Parameters:
+# **x** ("str") -- foo
- Return type:
- "str"
+# Return type:
+# "str"
- _private_method(x)
+# _private_method(x)
- Private method docstring.
+# Private method docstring.
- Parameters:
- **x** ("str") -- foo
+# Parameters:
+# **x** ("str") -- foo
- Return type:
- "str"
+# Return type:
+# "str"
- classmethod a_classmethod(x, y, z=None)
+# classmethod a_classmethod(x, y, z=None)
- Classmethod docstring.
+# Classmethod docstring.
- Parameters:
- * **x** ("bool") foo
+# Parameters:
+# * **x** ("bool") foo
- * **y** ("int") bar
+# * **y** ("int") bar
- * **z** ("Optional"["str"]) baz
+# * **z** ("Optional"["str"]) baz
- Return type:
- "str"
+# Return type:
+# "str"
- a_method(x, y, z=None)
+# a_method(x, y, z=None)
- Method docstring.
+# Method docstring.
- Parameters:
- * **x** ("bool") foo
+# Parameters:
+# * **x** ("bool") foo
- * **y** ("int") bar
+# * **y** ("int") bar
- * **z** ("Optional"["str"]) baz
+# * **z** ("Optional"["str"]) baz
- Return type:
- "str"
+# Return type:
+# "str"
- property a_property
+# property a_property
- Property docstring
+# Property docstring
- Return type:
- "str"
+# Return type:
+# "str"
- static a_staticmethod(x, y, z=None)
+# static a_staticmethod(x, y, z=None)
- Staticmethod docstring.
+# Staticmethod docstring.
- Parameters:
- * **x** ("bool") foo
+# Parameters:
+# * **x** ("bool") foo
- * **y** ("int") bar
+# * **y** ("int") bar
- * **z** ("Optional"["str"]) baz
+# * **z** ("Optional"["str"]) baz
- Return type:
- "str"
+# Return type:
+# "str"
- locally_defined_callable_field() -> str
+# locally_defined_callable_field() -> str
- Wrapper
+# Wrapper
- Return type:
- "str"
+# Return type:
+# "str"
- exception dummy_module.DummyException(message)
+# exception dummy_module.DummyException(message)
- Exception docstring
+# Exception docstring
- Parameters:
- **message** ("str") blah
+# Parameters:
+# **message** ("str") blah
- dummy_module.function(x, y, z_=None)
+# dummy_module.function(x, y, z_=None)
- Function docstring.
+# Function docstring.
- Parameters:
- * **x** ("bool") foo
+# Parameters:
+# * **x** ("bool") foo
- * **y** ("int") bar
+# * **y** ("int") bar
- * **z_** ("Optional"["str"]) baz
+# * **z_** ("Optional"["str"]) baz
- Returns:
- something
+# Returns:
+# something
- Return type:
- bytes
+# Return type:
+# bytes
- dummy_module.function_with_escaped_default(x='\\x08')
+# dummy_module.function_with_escaped_default(x='\\x08')
- Function docstring.
+# Function docstring.
- Parameters:
- **x** ("str") foo
+# Parameters:
+# **x** ("str") foo
- dummy_module.function_with_unresolvable_annotation(x)
+# dummy_module.function_with_unresolvable_annotation(x)
- Function docstring.
+# Function docstring.
- Parameters:
- **x** (*a.b.c*) foo
+# Parameters:
+# **x** (*a.b.c*) foo
- dummy_module.function_with_typehint_comment(x, y)
+# dummy_module.function_with_typehint_comment(x, y)
- Function docstring.
+# Function docstring.
- Parameters:
- * **x** ("int") foo
+# Parameters:
+# * **x** ("int") foo
- * **y** ("str") bar
+# * **y** ("str") bar
- Return type:
- "None"
+# Return type:
+# "None"
- class dummy_module.ClassWithTypehints(x)
+# class dummy_module.ClassWithTypehints(x)
- Class docstring.
+# Class docstring.
- Parameters:
- **x** ("int") -- foo
+# Parameters:
+# **x** ("int") -- foo
- foo(x)
+# foo(x)
- Method docstring.
+# Method docstring.
- Parameters:
- **x** ("str") -- foo
+# Parameters:
+# **x** ("str") -- foo
- Return type:
- "int"
+# Return type:
+# "int"
- dummy_module.function_with_typehint_comment_not_inline(x=None, *y, z, **kwargs)
+# dummy_module.function_with_typehint_comment_not_inline(x=None, *y, z, **kwargs)
- Function docstring.
+# Function docstring.
- Parameters:
- * **x** ("Union"["str", "bytes", "None"]) -- foo
+# Parameters:
+# * **x** ("Union"["str", "bytes", "None"]) -- foo
- * **y** ("str") -- bar
+# * **y** ("str") -- bar
- * **z** ("bytes") -- baz
+# * **z** ("bytes") -- baz
- * **kwargs** ("int") -- some kwargs
+# * **kwargs** ("int") -- some kwargs
- Return type:
- "None"
+# Return type:
+# "None"
- class dummy_module.ClassWithTypehintsNotInline(x=None)
+# class dummy_module.ClassWithTypehintsNotInline(x=None)
- Class docstring.
+# Class docstring.
- Parameters:
- **x** ("Optional"["Callable"[["int", "bytes"], "int"]]) -- foo
+# Parameters:
+# **x** ("Optional"["Callable"[["int", "bytes"], "int"]]) -- foo
- foo(x=1)
+# foo(x=1)
- Method docstring.
+# Method docstring.
- Parameters:
- **x** ("Callable"[["int", "bytes"], "int"]) -- foo
+# Parameters:
+# **x** ("Callable"[["int", "bytes"], "int"]) -- foo
- Return type:
- "int"
+# Return type:
+# "int"
- classmethod mk(x=None)
+# classmethod mk(x=None)
- Method docstring.
+# Method docstring.
- Parameters:
- **x** (*Callable**[**[**int**, **bytes**]**, **int**]*) --
- foo
+# Parameters:
+# **x** (*Callable**[**[**int**, **bytes**]**, **int**]*) --
+# foo
- Return type:
- ClassWithTypehintsNotInline
+# Return type:
+# ClassWithTypehintsNotInline
- dummy_module.undocumented_function(x)
+# dummy_module.undocumented_function(x)
- Hi{undoc_params}
+# Hi{undoc_params}
- Return type:
- "str"
+# Return type:
+# "str"
- class dummy_module.DataClass
+# class dummy_module.DataClass
- Class docstring.
+# Class docstring.
- __init__()
+# __init__()
- {dataclass_docstring}
+# {dataclass_docstring}
- @dummy_module.Decorator(func)
+# @dummy_module.Decorator(func)
- Initializer docstring.
+# Initializer docstring.
- Parameters:
- **func** ("Callable"[["int", "str"], "str"]) -- function
+# Parameters:
+# **func** ("Callable"[["int", "str"], "str"]) -- function
- dummy_module.mocked_import(x)
+# dummy_module.mocked_import(x)
- A docstring.
+# A docstring.
- Parameters:
- **x** ("Mailbox") -- function
- ''')
- expected_contents = expected_contents.format(**format_args).replace('', '--')
- assert text_contents == expected_contents
+# Parameters:
+# **x** ("Mailbox") -- function
+# ''')
+# expected_contents = expected_contents.format(**format_args).replace('', '--')
+# assert text_contents == expected_contents

View File

@@ -24,4 +24,16 @@ DEPEND="test? ( dev-python/sphobjinv[${PYTHON_USEDEP}]
distutils_enable_tests pytest
PATCHES="${FILESDIR}/${P}-skip-online-tests.patch"
python_prepare_all() {
# skip these tests
sed -i -e 's:test_parse_annotation:_&:' \
-e 's:test_format_annotation:_&:' \
-e 's:test_format_annotation_both_libs:_&:' \
-e 's:test_sphinx_output:_&:' \
-e 's:test_format_annotation_both_libs:_&:' \
-e 's:test_format_annotation_both_libs:_&:' \
-e 's:test_format_annotation_both_libs:_&:' \
tests/test_sphinx_autodoc_typehints.py || die
distutils-r1_python_prepare_all
}