mirror of
https://github.com/zensical/zensical.git
synced 2026-09-28 09:15:41 +00:00
refactor: migrate autorefs MkDocs plugin replacement
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
This commit is contained in:
+39
-1
@@ -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
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user