Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ testing = [
"pytest",
"pytest-regressions",
"pytest-cov",
"sphinx>=4.0.0,<7",
"sphinx>=4.0.0,<9",
]
docs = [
"sphinx>=4.0.0",
Expand Down
34 changes: 33 additions & 1 deletion tests/test_render.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,15 @@
from autodoc2.render.myst_ import MystRenderer
from autodoc2.render.rst_ import RstRenderer
from autodoc2.utils import yield_modules
import docutils
import pytest
import sphinx
from sphinx.testing.util import SphinxTestApp
from sphinx.testing.util import path as sphinx_path

if sphinx.version_info >= (7, 2):
sphinx_path = Path
else:
from sphinx.testing.path import path as sphinx_path


@pytest.mark.parametrize(
Expand Down Expand Up @@ -224,6 +230,32 @@ def test_sphinx_build_directives(tmp_path: Path, file_regression):
doctree = app.env.get_doctree("index")
doctree["source"] = "index.rst"
content = "\n".join([line.rstrip() for line in doctree.pformat().splitlines()])
if sphinx.version_info < (7, 1):
content = content.replace(
'<document source="index.rst">',
"<document source=\"index.rst\" translation_progress=\"{'total': 0, 'translated': 0}\">",
)
content = content.replace(
'<desc_parameterlist xml:space="preserve">',
'<desc_parameterlist multi_line_parameter_list="False" xml:space="preserve">',
)
if sphinx.version_info < (7, 2):
content = content.replace(
'<desc classes="py function" desctype="function" domain="py"',
'<desc classes="py function" desctype="function" domain="py" no-contents-entry="False" no-index="False" no-index-entry="False" no-typesetting="False"',
)
if sphinx.version_info < (8, 2):
content = content.replace(
'<desc_parameterlist multi_line_parameter_list="False"',
'<desc_parameterlist multi_line_parameter_list="False" multi_line_trailing_comma="True"',
)
if docutils.__version_info__ < (0, 22):
content = content.replace('="False"', '="0"')
content = content.replace('linenos="True"', 'linenos="1"')
content = content.replace(
'multi_line_trailing_comma="True"', 'multi_line_trailing_comma="1"'
)
content = content.replace('refexplicit="True"', 'refexplicit="1"')
file_regression.check(content, extension=".xml")


Expand Down
18 changes: 9 additions & 9 deletions tests/test_render/test_sphinx_build_directives.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<document source="index.rst">
<document source="index.rst" translation_progress="{'total': 0, 'translated': 0}">
<section ids="test" names="test">
<title>
Test
<literal_block highlight_args="{'linenostart': 9}" language="restructuredtext" linenos="True" xml:space="preserve">
<literal_block highlight_args="{'linenostart': 9}" language="restructuredtext" linenos="1" xml:space="preserve">
This is a function.
<paragraph>
This is a function.
Expand All @@ -19,13 +19,13 @@
```
````
<index entries="('single',\ 'func()\ (in\ module\ package)',\ 'package.func',\ '',\ None)">
<desc classes="py function" desctype="function" domain="py" nocontentsentry="False" noindex="False" noindexentry="False" objtype="function">
<desc classes="py function" desctype="function" domain="py" no-contents-entry="0" no-index="0" no-index-entry="0" no-typesetting="0" nocontentsentry="0" noindex="0" noindexentry="0" objtype="function">
<desc_signature _toc_name="func()" _toc_parts="('package', 'func')" class="" classes="sig sig-object" fullname="func" ids="package.func" module="package">
<desc_addname classes="sig-prename descclassname" xml:space="preserve">
package.
<desc_name classes="sig-name descname" xml:space="preserve">
func
<desc_parameterlist xml:space="preserve">
<desc_parameterlist multi_line_parameter_list="0" multi_line_trailing_comma="1" xml:space="preserve">
<desc_parameter xml:space="preserve">
<desc_sig_name classes="n">
a
Expand All @@ -34,7 +34,7 @@
<desc_sig_space classes="w">

<desc_sig_name classes="n">
<pending_xref py:class="True" py:module="package" refdomain="py" refspecific="False" reftarget="str" reftype="class">
<pending_xref py:class="True" py:module="package" refdomain="py" refspecific="0" reftarget="str" reftype="class">
str
<desc_parameter xml:space="preserve">
<desc_sig_name classes="n">
Expand All @@ -44,10 +44,10 @@
<desc_sig_space classes="w">

<desc_sig_name classes="n">
<pending_xref py:class="True" py:module="package" refdomain="py" refspecific="False" reftarget="int" reftype="class">
<pending_xref py:class="True" py:module="package" refdomain="py" refspecific="0" reftarget="int" reftype="class">
int
<desc_returns xml:space="preserve">
<pending_xref py:class="True" py:module="package" refdomain="py" refspecific="False" reftarget="package.a.c.ac1" reftype="class">
<pending_xref py:class="True" py:module="package" refdomain="py" refspecific="0" reftarget="package.a.c.ac1" reftype="class">
package.a.c.ac1
<desc_content>
<paragraph>
Expand All @@ -60,7 +60,7 @@
<row>
<entry>
<paragraph>
<pending_xref py:class="True" py:module="True" refdoc="index" refdomain="py" refexplicit="False" reftarget="package.func" reftype="obj" refwarn="False">
<pending_xref py:class="True" py:module="True" refdoc="index" refdomain="py" refexplicit="0" reftarget="package.func" reftype="obj" refwarn="0">
<literal classes="xref py py-obj">
package.func
<entry>
Expand All @@ -69,7 +69,7 @@
<row>
<entry>
<paragraph>
<pending_xref py:class="True" py:module="True" refdoc="index" refdomain="py" refexplicit="True" reftarget="package.a.a1" reftype="obj" refwarn="False">
<pending_xref py:class="True" py:module="True" refdoc="index" refdomain="py" refexplicit="1" reftarget="package.a.a1" reftype="obj" refwarn="0">
<literal classes="xref py py-obj">
package.a1
<entry>
Expand Down