summaryrefslogtreecommitdiffstats
path: root/tests/test_build_dirhtml.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 17:25:40 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 17:25:40 +0000
commitcf7da1843c45a4c2df7a749f7886a2d2ba0ee92a (patch)
tree18dcde1a8d1f5570a77cd0c361de3b490d02c789 /tests/test_build_dirhtml.py
parentInitial commit. (diff)
downloadsphinx-cf7da1843c45a4c2df7a749f7886a2d2ba0ee92a.tar.xz
sphinx-cf7da1843c45a4c2df7a749f7886a2d2ba0ee92a.zip
Adding upstream version 7.2.6.upstream/7.2.6upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/test_build_dirhtml.py')
-rw-r--r--tests/test_build_dirhtml.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/test_build_dirhtml.py b/tests/test_build_dirhtml.py
new file mode 100644
index 0000000..dc5ab86
--- /dev/null
+++ b/tests/test_build_dirhtml.py
@@ -0,0 +1,40 @@
+"""Test dirhtml builder."""
+
+import posixpath
+
+import pytest
+
+from sphinx.util.inventory import InventoryFile
+
+
+@pytest.mark.sphinx(buildername='dirhtml', testroot='builder-dirhtml')
+def test_dirhtml(app, status, warning):
+ app.build()
+
+ assert (app.outdir / 'index.html').exists()
+ assert (app.outdir / 'foo/index.html').exists()
+ assert (app.outdir / 'foo/foo_1/index.html').exists()
+ assert (app.outdir / 'foo/foo_2/index.html').exists()
+ assert (app.outdir / 'bar/index.html').exists()
+
+ content = (app.outdir / 'index.html').read_text(encoding='utf8')
+ assert 'href="foo/"' in content
+ assert 'href="foo/foo_1/"' in content
+ assert 'href="foo/foo_2/"' in content
+ assert 'href="bar/"' in content
+
+ # objects.inv (refs: #7095)
+ with (app.outdir / 'objects.inv').open('rb') as f:
+ invdata = InventoryFile.load(f, 'path/to', posixpath.join)
+
+ assert 'index' in invdata.get('std:doc')
+ assert invdata['std:doc']['index'] == ('Python', '', 'path/to/', '-')
+
+ assert 'foo/index' in invdata.get('std:doc')
+ assert invdata['std:doc']['foo/index'] == ('Python', '', 'path/to/foo/', '-')
+
+ assert 'index' in invdata.get('std:label')
+ assert invdata['std:label']['index'] == ('Python', '', 'path/to/#index', '-')
+
+ assert 'foo' in invdata.get('std:label')
+ assert invdata['std:label']['foo'] == ('Python', '', 'path/to/foo/#foo', 'foo/index')