diff --git a/tests/test_domain_c.py b/tests/test_domain_c.py index 347f8c7d6a5..3ea4dba8349 100644 --- a/tests/test_domain_c.py +++ b/tests/test_domain_c.py @@ -10,6 +10,7 @@ import pytest from sphinx import addnodes +from sphinx.addnodes import desc from sphinx.domains.c import DefinitionParser, DefinitionError from sphinx.domains.c import _max_id, _id_prefix, Symbol from sphinx.testing import restructuredtext @@ -590,3 +591,13 @@ def test_cvar(app): domain = app.env.get_domain('c') entry = domain.objects.get('PyClass_Type') assert entry == ('index', 'c.PyClass_Type', 'var') + + +def test_noindexentry(app): + text = (".. c:function:: void f()\n" + ".. c:function:: void g()\n" + " :noindexentry:\n") + doctree = restructuredtext.parse(app, text) + assert_node(doctree, (addnodes.index, desc, addnodes.index, desc)) + assert_node(doctree[0], addnodes.index, entries=[('single', 'f (C function)', 'c.f', '', None)]) + assert_node(doctree[2], addnodes.index, entries=[]) diff --git a/tests/test_domain_cpp.py b/tests/test_domain_cpp.py index a6c9eee9d1b..6579ba8af5c 100644 --- a/tests/test_domain_cpp.py +++ b/tests/test_domain_cpp.py @@ -14,8 +14,11 @@ import sphinx.domains.cpp as cppDomain from sphinx import addnodes +from sphinx.addnodes import desc from sphinx.domains.cpp import DefinitionParser, DefinitionError, NoOldIdError from sphinx.domains.cpp import Symbol, _max_id, _id_prefix +from sphinx.testing import restructuredtext +from sphinx.testing.util import assert_node from sphinx.util import docutils @@ -1211,3 +1214,13 @@ def __init__(self, role, root, contents): assert any_role.classes == cpp_any_role.classes, expect assert any_role.classes == expr_role.content_classes['a'], expect assert any_role.classes == texpr_role.content_classes['a'], expect + + +def test_noindexentry(app): + text = (".. cpp:function:: void f()\n" + ".. cpp:function:: void g()\n" + " :noindexentry:\n") + doctree = restructuredtext.parse(app, text) + assert_node(doctree, (addnodes.index, desc, addnodes.index, desc)) + assert_node(doctree[0], addnodes.index, entries=[('single', 'f (C++ function)', '_CPPv41fv', '', None)]) + assert_node(doctree[2], addnodes.index, entries=[]) diff --git a/tests/test_domain_js.py b/tests/test_domain_js.py index 189f22e5b4e..8554dfd3010 100644 --- a/tests/test_domain_js.py +++ b/tests/test_domain_js.py @@ -218,3 +218,13 @@ def test_js_data(app): assert_node(doctree[0], addnodes.index, entries=[("single", "name (global variable or constant)", "name", "", None)]) assert_node(doctree[1], addnodes.desc, domain="js", objtype="data", noindex=False) + + +def test_noindexentry(app): + text = (".. js:function:: f()\n" + ".. js:function:: g()\n" + " :noindexentry:\n") + doctree = restructuredtext.parse(app, text) + assert_node(doctree, (addnodes.index, desc, addnodes.index, desc)) + assert_node(doctree[0], addnodes.index, entries=[('single', 'f() (built-in function)', 'f', '', None)]) + assert_node(doctree[2], addnodes.index, entries=[]) diff --git a/tests/test_domain_py.py b/tests/test_domain_py.py index 25d9ae7dffb..d2590dbf7be 100644 --- a/tests/test_domain_py.py +++ b/tests/test_domain_py.py @@ -799,3 +799,19 @@ def test_modindex_common_prefix(app): ) +def test_noindexentry(app): + text = (".. py:function:: f()\n" + ".. py:function:: g()\n" + " :noindexentry:\n") + doctree = restructuredtext.parse(app, text) + assert_node(doctree, (addnodes.index, desc, addnodes.index, desc)) + assert_node(doctree[0], addnodes.index, entries=[('pair', 'built-in function; f()', 'f', '', None)]) + assert_node(doctree[2], addnodes.index, entries=[]) + + text = (".. py:class:: f\n" + ".. py:class:: g\n" + " :noindexentry:\n") + doctree = restructuredtext.parse(app, text) + assert_node(doctree, (addnodes.index, desc, addnodes.index, desc)) + assert_node(doctree[0], addnodes.index, entries=[('single', 'f (built-in class)', 'f', '', None)]) + assert_node(doctree[2], addnodes.index, entries=[])