Skip to content

Commit

Permalink
autodoc: Test the signature of typing.Generic subclasses.
Browse files Browse the repository at this point in the history
This test is currently failing because typing.Generic.__new__ clobbers the
real signature.
  • Loading branch information
jcarrano committed Aug 21, 2020
1 parent 9d48cb9 commit 6426861
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
12 changes: 12 additions & 0 deletions tests/roots/test-ext-autodoc/target/generic_class.py
@@ -0,0 +1,12 @@
from typing import TypeVar, Generic


T = TypeVar('T')


# Test that typing.Generic's __new__ method does not mask our class'
# __init__ signature.
class A(Generic[T]):
"""docstring for A"""
def __init__(self, a, b=None):
pass
16 changes: 16 additions & 0 deletions tests/test_ext_autodoc.py
Expand Up @@ -290,6 +290,22 @@ def foo3(self, d='\n'):
'(b, c=42, *d, **e)'


@pytest.mark.skipif(sys.version_info < (3, 5), reason='typing is available since python3.5.')
@pytest.mark.xfail
@pytest.mark.sphinx('html', testroot='ext-autodoc')
def test_autodoc_process_signature_typing_generic(app):
actual = do_autodoc(app, 'class', 'target.generic_class.A', {})

assert list(actual) == [
'',
'.. py:class:: A(a, b=None)',
' :module: target.generic_class',
'',
' docstring for A',
'',
]


def test_autodoc_process_signature_typehints(app):
captured = []

Expand Down

0 comments on commit 6426861

Please sign in to comment.