mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Fix an exception introduced by b69b59480cba for __init__ with no docstring.
This commit is contained in:
parent
3ea7613657
commit
b0ca105c36
@ -1085,8 +1085,9 @@ class ClassDocumenter(ModuleLevelDocumenter):
|
||||
initdocstring = self.get_attr(
|
||||
self.get_attr(self.object, '__init__', None), '__doc__')
|
||||
# for new-style classes, no __init__ means default __init__
|
||||
if (initdocstring == object.__init__.__doc__ or # for pypy
|
||||
initdocstring.strip() == object.__init__.__doc__): #for !pypy
|
||||
if (initdocstring is not None and
|
||||
(initdocstring == object.__init__.__doc__ or # for pypy
|
||||
initdocstring.strip() == object.__init__.__doc__)): #for !pypy
|
||||
initdocstring = None
|
||||
if initdocstring:
|
||||
if content == 'init':
|
||||
|
@ -348,6 +348,22 @@ def test_get_doc():
|
||||
directive.env.config.autoclass_content = 'both'
|
||||
assert getdocl('class', F) == ['Class docstring']
|
||||
|
||||
# class has __init__ method with no docstring
|
||||
class G(object):
|
||||
"""Class docstring"""
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
# docstring in the __init__ method of base class will not be used
|
||||
for f in (False, True):
|
||||
directive.env.config.autodoc_docstring_signature = f
|
||||
directive.env.config.autoclass_content = 'class'
|
||||
assert getdocl('class', G) == ['Class docstring']
|
||||
directive.env.config.autoclass_content = 'init'
|
||||
assert getdocl('class', G) == ['Class docstring']
|
||||
directive.env.config.autoclass_content = 'both'
|
||||
assert getdocl('class', G) == ['Class docstring']
|
||||
|
||||
|
||||
@with_setup(setup_test)
|
||||
def test_docstring_processing():
|
||||
|
Loading…
Reference in New Issue
Block a user