From c171702ee26ebbf833a00240b9ddd355963af0f5 Mon Sep 17 00:00:00 2001 From: Takeshi KOMIYA Date: Wed, 25 Dec 2019 23:41:54 +0900 Subject: [PATCH] Stop to use deprecated API: env.indexentries --- sphinx/writers/texinfo.py | 4 +++- tests/test_environment_indexentries.py | 18 ++++++------------ 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/sphinx/writers/texinfo.py b/sphinx/writers/texinfo.py index bb4c2e23c..ad7f36588 100644 --- a/sphinx/writers/texinfo.py +++ b/sphinx/writers/texinfo.py @@ -21,6 +21,7 @@ from docutils.nodes import Element, Node, Text from sphinx import addnodes, __display_version__ from sphinx.deprecation import RemovedInSphinx30Warning from sphinx.domains import IndexEntry +from sphinx.domains.index import IndexDomain from sphinx.errors import ExtensionError from sphinx.locale import admonitionlabels, _, __ from sphinx.util import logging @@ -497,8 +498,9 @@ class TexinfoTranslator(SphinxTranslator): self.indices.append((indexcls.localname, generate(content, collapsed))) # only add the main Index if it's not empty + domain = cast(IndexDomain, self.builder.env.get_domain('index')) for docname in self.builder.docnames: - if self.builder.env.indexentries[docname]: + if domain.entries[docname]: self.indices.append((_('Index'), '\n@printindex ge\n')) break diff --git a/tests/test_environment_indexentries.py b/tests/test_environment_indexentries.py index 5c0ab7849..cf4a52c24 100644 --- a/tests/test_environment_indexentries.py +++ b/tests/test_environment_indexentries.py @@ -14,9 +14,8 @@ from sphinx.environment.adapters.indexentries import IndexEntries from sphinx.testing import restructuredtext -@pytest.mark.sphinx('dummy') +@pytest.mark.sphinx('dummy', freshenv=True) def test_create_single_index(app): - app.env.indexentries.clear() text = (".. index:: docutils\n" ".. index:: Python\n" ".. index:: pip; install\n" @@ -42,9 +41,8 @@ def test_create_single_index(app): assert index[5] == ('ת', [('‏תירבע‎', [[('', '#index-7')], [], None])]) -@pytest.mark.sphinx('dummy') +@pytest.mark.sphinx('dummy', freshenv=True) def test_create_pair_index(app): - app.env.indexentries.clear() text = (".. index:: pair: docutils; reStructuredText\n" ".. index:: pair: Python; interpreter\n" ".. index:: pair: Sphinx; documentation tool\n" @@ -73,9 +71,8 @@ def test_create_pair_index(app): ('Ель', [[], [('Sphinx', [('', '#index-4')])], None])]) -@pytest.mark.sphinx('dummy') +@pytest.mark.sphinx('dummy', freshenv=True) def test_create_triple_index(app): - app.env.indexentries.clear() text = (".. index:: triple: foo; bar; baz\n" ".. index:: triple: Python; Sphinx; reST\n") restructuredtext.parse(app, text) @@ -89,9 +86,8 @@ def test_create_triple_index(app): assert index[4] == ('S', [('Sphinx', [[], [('reST, Python', [('', '#index-1')])], None])]) -@pytest.mark.sphinx('dummy') +@pytest.mark.sphinx('dummy', freshenv=True) def test_create_see_index(app): - app.env.indexentries.clear() text = (".. index:: see: docutils; reStructuredText\n" ".. index:: see: Python; interpreter\n" ".. index:: see: Sphinx; documentation tool\n") @@ -103,9 +99,8 @@ def test_create_see_index(app): assert index[2] == ('S', [('Sphinx', [[], [('see documentation tool', [])], None])]) -@pytest.mark.sphinx('dummy') +@pytest.mark.sphinx('dummy', freshenv=True) def test_create_seealso_index(app): - app.env.indexentries.clear() text = (".. index:: seealso: docutils; reStructuredText\n" ".. index:: seealso: Python; interpreter\n" ".. index:: seealso: Sphinx; documentation tool\n") @@ -117,9 +112,8 @@ def test_create_seealso_index(app): assert index[2] == ('S', [('Sphinx', [[], [('see also documentation tool', [])], None])]) -@pytest.mark.sphinx('dummy') +@pytest.mark.sphinx('dummy', freshenv=True) def test_create_index_by_key(app): - app.env.indexentries.clear() # At present, only glossary directive is able to create index key text = (".. glossary::\n" "\n"