refactor: migrate autorefs MkDocs plugin replacement

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
This commit is contained in:
squidfunk
2026-09-01 18:35:54 +02:00
parent 3a390c7647
commit 83b0fd7541
19 changed files with 1558 additions and 522 deletions
+39 -1
View File
@@ -29,7 +29,13 @@ from typing import TYPE_CHECKING, Any
import pytest
from tests.unit.extensions.conftest import soup
from zensical.extensions.autorefs import get_autorefs_store, reset
from zensical.extensions.autorefs import (
get_autorefs_inventory_data,
get_autorefs_page_data,
get_autorefs_store,
reset,
)
from zensical.extensions.context import Page
if TYPE_CHECKING:
from collections.abc import Generator
@@ -80,6 +86,38 @@ def _reset_autorefs_store() -> Generator[None, None, None]:
reset()
# ---------------------------------------------------------------------------
# Store
# ---------------------------------------------------------------------------
class TestStore:
"""Tests for page-local fact extraction from the transient store."""
def test_page_data_is_taken_without_consuming_inventory(self) -> None:
"""Page registrations leave the global inventory available."""
store = get_autorefs_store()
page = Page(url="guide/", path="guide.md", meta={})
store.set_page(page)
store.register_anchor(page, "target", title="Target")
store.register_anchor(page, "alias", anchor="target", primary=False)
store.register_url("external", "https://example.com/external")
assert get_autorefs_page_data("guide/") == {
"primary": {"target": ["guide/#target"]},
"secondary": {"alias": ["guide/#target"]},
"titles": {"guide/#target": "Target"},
}
assert get_autorefs_page_data("guide/") == {
"primary": {},
"secondary": {},
"titles": {},
}
assert get_autorefs_inventory_data() == {
"external": "https://example.com/external"
}
# ---------------------------------------------------------------------------
# Inline processor
# ---------------------------------------------------------------------------