diff --git a/src/scanpydoc/release_notes.py b/src/scanpydoc/release_notes.py index a50d84a..ef9c3eb 100644 --- a/src/scanpydoc/release_notes.py +++ b/src/scanpydoc/release_notes.py @@ -143,7 +143,7 @@ def render_include(self, path: Path) -> Sequence[nodes.Node]: d = MockIncludeDirective( renderer=self._myst_renderer, name=type(self).__name__, - klass=Include, # type: ignore[arg-type] # wrong type hint + klass=Include, arguments=[str(path.relative_to(parent_dir))], options={}, body=[], diff --git a/tests/test_elegant_typehints.py b/tests/test_elegant_typehints.py index db18289..f8a619e 100644 --- a/tests/test_elegant_typehints.py +++ b/tests/test_elegant_typehints.py @@ -5,12 +5,26 @@ import re import inspect from io import StringIO -from typing import TYPE_CHECKING, Any, AnyStr, NoReturn, cast, get_origin +from typing import TYPE_CHECKING, Any, AnyStr, NoReturn, NamedTuple, cast, get_origin from pathlib import Path from operator import attrgetter from collections.abc import Mapping, Callable +from importlib.metadata import version import pytest +from packaging.version import Version + + +if TYPE_CHECKING or Version(version("sphinx")) >= Version("8.2"): + from sphinx.util.inventory import _InventoryItem +else: + + class _InventoryItem(NamedTuple): + project_name: str + project_version: str + uri: str + display_name: str + from scanpydoc.elegant_typehints import _last_resolve, qualname_overrides from scanpydoc.elegant_typehints._formatting import typehints_formatter @@ -262,7 +276,12 @@ def test_resolve(app: Sphinx, qualname: str, docname: str) -> None: # Inventory contains documented name InventoryAdapter(app.env).main_inventory["py:class"] = { - docname: ("TestProj", "1", "https://x.com", docname.split(".")[-1]), + docname: _InventoryItem( + project_name="TestProj", + project_version="1", + uri="https://x.com", + display_name=docname.split(".")[-1], + ), } # Node contains name from code node = pending_xref(refdomain="py", reftarget=qualname, reftype="class")