summaryrefslogtreecommitdiffstats
path: root/tests/test_environment
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_environment')
-rw-r--r--tests/test_environment/test_environment.py2
-rw-r--r--tests/test_environment/test_environment_indexentries.py86
-rw-r--r--tests/test_environment/test_environment_toctree.py37
3 files changed, 80 insertions, 45 deletions
diff --git a/tests/test_environment/test_environment.py b/tests/test_environment/test_environment.py
index 8a34457..82de597 100644
--- a/tests/test_environment/test_environment.py
+++ b/tests/test_environment/test_environment.py
@@ -34,7 +34,7 @@ def test_config_status(make_app, app_params):
assert app3.env.config_status == CONFIG_CHANGED
app3.build()
shutil.move(fname[:-4] + 'x.rst', fname)
- assert "[config changed ('root_doc')] 1 added" in app3._status.getvalue()
+ assert "[config changed ('master_doc')] 1 added" in app3._status.getvalue()
# incremental build (extension changed)
app4 = make_app(*args, confoverrides={'extensions': ['sphinx.ext.autodoc']}, **kwargs)
diff --git a/tests/test_environment/test_environment_indexentries.py b/tests/test_environment/test_environment_indexentries.py
index 4cfdc28..19cb5a7 100644
--- a/tests/test_environment/test_environment_indexentries.py
+++ b/tests/test_environment/test_environment_indexentries.py
@@ -22,22 +22,22 @@ def test_create_single_index(app):
restructuredtext.parse(app, text)
index = IndexEntries(app.env).create_index(app.builder)
assert len(index) == 6
- assert index[0] == ('Symbols', [('&-symbol', [[('', '#index-9')], [], None]),
- ('9-symbol', [[('', '#index-8')], [], None]),
- ('£100', [[('', '#index-10')], [], None])])
- assert index[1] == ('D', [('docutils', [[('', '#index-0')], [], None])])
- assert index[2] == ('P', [('pip', [[], [('install', [('', '#index-2')]),
- ('upgrade', [('', '#index-3')])], None]),
- ('Python', [[('', '#index-1')], [], None])])
- assert index[3] == ('S', [('Sphinx', [[('', '#index-4')], [], None])])
+ assert index[0] == ('Symbols', [('&-symbol', ([('', '#index-9')], [], None)),
+ ('9-symbol', ([('', '#index-8')], [], None)),
+ ('£100', ([('', '#index-10')], [], None))])
+ assert index[1] == ('D', [('docutils', ([('', '#index-0')], [], None))])
+ assert index[2] == ('P', [('pip', ([], [('install', [('', '#index-2')]),
+ ('upgrade', [('', '#index-3')])], None)),
+ ('Python', ([('', '#index-1')], [], None))])
+ assert index[3] == ('S', [('Sphinx', ([('', '#index-4')], [], None))])
assert index[4] == ('Е',
- [('ёлка', [[('', '#index-6')], [], None]),
- ('Ель', [[('', '#index-5')], [], None])])
+ [('ёлка', ([('', '#index-6')], [], None)),
+ ('Ель', ([('', '#index-5')], [], None))])
# Here the word starts with U+200F RIGHT-TO-LEFT MARK, which should be
# ignored when getting the first letter.
assert index[5] == ('\u05e2', [(
'\N{RIGHT-TO-LEFT MARK}\u05e2\u05d1\u05e8\u05d9\u05ea\N{LEFT-TO-RIGHT MARK}',
- [[('', '#index-7')], [], None],
+ ([('', '#index-7')], [], None),
)])
@@ -52,24 +52,24 @@ def test_create_pair_index(app):
restructuredtext.parse(app, text)
index = IndexEntries(app.env).create_index(app.builder)
assert len(index) == 7
- assert index[0] == ('Symbols', [(':+1:', [[], [('Sphinx', [('', '#index-3')])], None])])
+ assert index[0] == ('Symbols', [(':+1:', ([], [('Sphinx', [('', '#index-3')])], None))])
assert index[1] == ('D',
- [('documentation tool', [[], [('Sphinx', [('', '#index-2')])], None]),
- ('docutils', [[], [('reStructuredText', [('', '#index-0')])], None])])
- assert index[2] == ('I', [('interpreter', [[], [('Python', [('', '#index-1')])], None])])
- assert index[3] == ('P', [('Python', [[], [('interpreter', [('', '#index-1')])], None])])
+ [('documentation tool', ([], [('Sphinx', [('', '#index-2')])], None)),
+ ('docutils', ([], [('reStructuredText', [('', '#index-0')])], None))])
+ assert index[2] == ('I', [('interpreter', ([], [('Python', [('', '#index-1')])], None))])
+ assert index[3] == ('P', [('Python', ([], [('interpreter', [('', '#index-1')])], None))])
assert index[4] == ('R',
- [('reStructuredText', [[], [('docutils', [('', '#index-0')])], None])])
+ [('reStructuredText', ([], [('docutils', [('', '#index-0')])], None))])
assert index[5] == ('S',
- [('Sphinx', [[],
+ [('Sphinx', ([],
[(':+1:', [('', '#index-3')]),
('documentation tool', [('', '#index-2')]),
('ёлка', [('', '#index-5')]),
('Ель', [('', '#index-4')])],
- None])])
+ None))])
assert index[6] == ('Е',
- [('ёлка', [[], [('Sphinx', [('', '#index-5')])], None]),
- ('Ель', [[], [('Sphinx', [('', '#index-4')])], None])])
+ [('ёлка', ([], [('Sphinx', [('', '#index-5')])], None)),
+ ('Ель', ([], [('Sphinx', [('', '#index-4')])], None))])
@pytest.mark.sphinx('dummy', freshenv=True)
@@ -79,12 +79,12 @@ def test_create_triple_index(app):
restructuredtext.parse(app, text)
index = IndexEntries(app.env).create_index(app.builder)
assert len(index) == 5
- assert index[0] == ('B', [('bar', [[], [('baz, foo', [('', '#index-0')])], None]),
- ('baz', [[], [('foo bar', [('', '#index-0')])], None])])
- assert index[1] == ('F', [('foo', [[], [('bar baz', [('', '#index-0')])], None])])
- assert index[2] == ('P', [('Python', [[], [('Sphinx reST', [('', '#index-1')])], None])])
- assert index[3] == ('R', [('reST', [[], [('Python Sphinx', [('', '#index-1')])], None])])
- assert index[4] == ('S', [('Sphinx', [[], [('reST, Python', [('', '#index-1')])], None])])
+ assert index[0] == ('B', [('bar', ([], [('baz, foo', [('', '#index-0')])], None)),
+ ('baz', ([], [('foo bar', [('', '#index-0')])], None))])
+ assert index[1] == ('F', [('foo', ([], [('bar baz', [('', '#index-0')])], None))])
+ assert index[2] == ('P', [('Python', ([], [('Sphinx reST', [('', '#index-1')])], None))])
+ assert index[3] == ('R', [('reST', ([], [('Python Sphinx', [('', '#index-1')])], None))])
+ assert index[4] == ('S', [('Sphinx', ([], [('reST, Python', [('', '#index-1')])], None))])
@pytest.mark.sphinx('dummy', freshenv=True)
@@ -95,9 +95,9 @@ def test_create_see_index(app):
restructuredtext.parse(app, text)
index = IndexEntries(app.env).create_index(app.builder)
assert len(index) == 3
- assert index[0] == ('D', [('docutils', [[], [('see reStructuredText', [])], None])])
- assert index[1] == ('P', [('Python', [[], [('see interpreter', [])], None])])
- assert index[2] == ('S', [('Sphinx', [[], [('see documentation tool', [])], None])])
+ assert index[0] == ('D', [('docutils', ([], [('see reStructuredText', [])], None))])
+ assert index[1] == ('P', [('Python', ([], [('see interpreter', [])], None))])
+ assert index[2] == ('S', [('Sphinx', ([], [('see documentation tool', [])], None))])
@pytest.mark.sphinx('dummy', freshenv=True)
@@ -108,9 +108,9 @@ def test_create_seealso_index(app):
restructuredtext.parse(app, text)
index = IndexEntries(app.env).create_index(app.builder)
assert len(index) == 3
- assert index[0] == ('D', [('docutils', [[], [('see also reStructuredText', [])], None])])
- assert index[1] == ('P', [('Python', [[], [('see also interpreter', [])], None])])
- assert index[2] == ('S', [('Sphinx', [[], [('see also documentation tool', [])], None])])
+ assert index[0] == ('D', [('docutils', ([], [('see also reStructuredText', [])], None))])
+ assert index[1] == ('P', [('Python', ([], [('see also interpreter', [])], None))])
+ assert index[2] == ('S', [('Sphinx', ([], [('see also documentation tool', [])], None))])
@pytest.mark.sphinx('dummy', freshenv=True)
@@ -122,10 +122,10 @@ def test_create_main_index(app):
restructuredtext.parse(app, text)
index = IndexEntries(app.env).create_index(app.builder)
assert len(index) == 2
- assert index[0] == ('D', [('docutils', [[('main', '#index-0'),
- ('', '#index-1')], [], None])])
- assert index[1] == ('P', [('pip', [[], [('install', [('main', '#index-3'),
- ('', '#index-2')])], None])])
+ assert index[0] == ('D', [('docutils', ([('main', '#index-0'),
+ ('', '#index-1')], [], None))])
+ assert index[1] == ('P', [('pip', ([], [('install', [('main', '#index-3'),
+ ('', '#index-2')])], None))])
@pytest.mark.sphinx('dummy', freshenv=True)
@@ -140,9 +140,9 @@ def test_create_index_with_name(app):
# check index is created correctly
assert len(index) == 3
- assert index[0] == ('D', [('docutils', [[('', '#ref1')], [], None])])
- assert index[1] == ('P', [('Python', [[('', '#ref2')], [], None])])
- assert index[2] == ('S', [('Sphinx', [[('', '#index-0')], [], None])])
+ assert index[0] == ('D', [('docutils', ([('', '#ref1')], [], None))])
+ assert index[1] == ('P', [('Python', ([('', '#ref2')], [], None))])
+ assert index[2] == ('S', [('Sphinx', ([('', '#index-0')], [], None))])
# check the reference labels are created correctly
std = app.env.get_domain('std')
@@ -161,6 +161,6 @@ def test_create_index_by_key(app):
restructuredtext.parse(app, text)
index = IndexEntries(app.env).create_index(app.builder)
assert len(index) == 3
- assert index[0] == ('D', [('docutils', [[('main', '#term-docutils')], [], None])])
- assert index[1] == ('P', [('Python', [[('main', '#term-Python')], [], None])])
- assert index[2] == ('ス', [('スフィンクス', [[('main', '#term-0')], [], 'ス'])])
+ assert index[0] == ('D', [('docutils', ([('main', '#term-docutils')], [], None))])
+ assert index[1] == ('P', [('Python', ([('main', '#term-Python')], [], None))])
+ assert index[2] == ('ス', [('スフィンクス', ([('main', '#term-0')], [], 'ス'))])
diff --git a/tests/test_environment/test_environment_toctree.py b/tests/test_environment/test_environment_toctree.py
index 175c6ab..6979a12 100644
--- a/tests/test_environment/test_environment_toctree.py
+++ b/tests/test_environment/test_environment_toctree.py
@@ -132,7 +132,7 @@ def test_domain_objects(app):
assert app.env.toc_num_entries['index'] == 0
assert app.env.toc_num_entries['domains'] == 9
- assert app.env.toctree_includes['index'] == ['domains']
+ assert app.env.toctree_includes['index'] == ['domains', 'document_scoping']
assert 'index' in app.env.files_to_rebuild['domains']
assert app.env.glob_toctrees == set()
assert app.env.numbered_toctrees == {'index'}
@@ -161,6 +161,41 @@ def test_domain_objects(app):
[list_item, ([compact_paragraph, reference, literal, "HelloWorldPrinter.print()"])])
+@pytest.mark.sphinx('dummy', testroot='toctree-domain-objects')
+def test_domain_objects_document_scoping(app):
+ app.build()
+
+ # tocs
+ toctree = app.env.tocs['document_scoping']
+ assert_node(
+ toctree,
+ [bullet_list, list_item, (
+ compact_paragraph, # [0][0]
+ [bullet_list, ( # [0][1]
+ [list_item, compact_paragraph, reference, literal, 'ClassLevel1a'], # [0][1][0]
+ [list_item, ( # [0][1][1]
+ [compact_paragraph, reference, literal, 'ClassLevel1b'], # [0][1][1][0]
+ [bullet_list, list_item, compact_paragraph, reference, literal, 'ClassLevel1b.f()'], # [0][1][1][1][0]
+ )],
+ [list_item, compact_paragraph, reference, literal, 'ClassLevel1a.g()'], # [0][1][2]
+ [list_item, compact_paragraph, reference, literal, 'ClassLevel1b.g()'], # [0][1][3]
+ [list_item, ( # [0][1][4]
+ [compact_paragraph, reference, 'Level 2'], # [0][1][4][0]
+ [bullet_list, ( # [0][1][4][1]
+ [list_item, compact_paragraph, reference, literal, 'ClassLevel2a'], # [0][1][4][1][0]
+ [list_item, ( # [0][1][4][1][1]
+ [compact_paragraph, reference, literal, 'ClassLevel2b'], # [0][1][4][1][1][0]
+ [bullet_list, list_item, compact_paragraph, reference, literal, 'ClassLevel2b.f()'], # [0][1][4][1][1][1][0]
+ )],
+ [list_item, compact_paragraph, reference, literal, 'ClassLevel2a.g()'], # [0][1][4][1][2]
+ [list_item, compact_paragraph, reference, literal, 'ClassLevel2b.g()'], # [0][1][4][1][3]
+ )],
+ )],
+ )],
+ )],
+ )
+
+
@pytest.mark.sphinx('xml', testroot='toctree')
@pytest.mark.test_params(shared_result='test_environment_toctree_basic')
def test_document_toc(app):