Fix #3320: Warning about reference target not being found for container types

This commit is contained in:
Takeshi KOMIYA 2017-05-13 15:03:11 +09:00
parent 90e1aba797
commit 4104b93c6e
4 changed files with 14 additions and 2 deletions

View File

@ -24,6 +24,7 @@ Bugs fixed
* #3708: LaTeX writer allows irc scheme * #3708: LaTeX writer allows irc scheme
* #3717: Stop enforcing that favicon's must be .ico * #3717: Stop enforcing that favicon's must be .ico
* #3731, #3732: Protect isenumclass predicate against non-class arguments * #3731, #3732: Protect isenumclass predicate against non-class arguments
* #3320: Warning about reference target not being found for container types
Testing Testing
-------- --------

View File

@ -110,7 +110,7 @@ class PyXrefMixin(object):
split_contnode = bool(contnode and contnode.astext() == target) split_contnode = bool(contnode and contnode.astext() == target)
results = [] results = []
for sub_target in sub_targets: for sub_target in filter(None, sub_targets):
if split_contnode: if split_contnode:
contnode = nodes.Text(sub_target) contnode = nodes.Text(sub_target)

View File

@ -29,3 +29,10 @@ module
.. py:class:: ModTopLevel .. py:class:: ModTopLevel
* Link to :py:class:`ModNoModule` * Link to :py:class:`ModNoModule`
.. py:function:: foo(x, y)
:param x: param x
:type x: int
:param y: param y
:type y: tuple(str, float)

View File

@ -107,7 +107,11 @@ def test_domain_py_xrefs(app, status, warning):
'ModTopLevel', 'class') 'ModTopLevel', 'class')
assert_refnode(refnodes[6], 'module_b.submodule', 'ModTopLevel', assert_refnode(refnodes[6], 'module_b.submodule', 'ModTopLevel',
'ModNoModule', 'class') 'ModNoModule', 'class')
assert len(refnodes) == 7 assert_refnode(refnodes[7], False, False, 'int', 'obj')
assert_refnode(refnodes[8], False, False, 'tuple', 'obj')
assert_refnode(refnodes[9], False, False, 'str', 'obj')
assert_refnode(refnodes[10], False, False, 'float', 'obj')
assert len(refnodes) == 11
@pytest.mark.sphinx('dummy', testroot='domain-py') @pytest.mark.sphinx('dummy', testroot='domain-py')