fix/various fixes

This commit is contained in:
Kevin
2026-03-20 15:15:35 +08:00
parent 7f57f96c25
commit 7317bf10cd
112 changed files with 3790 additions and 2242 deletions

View File

@@ -1,6 +1,7 @@
"""asset_resolver旧占位符清理与 asset:// 解析。"""
import unittest
from types import SimpleNamespace
from app.features.memoir.asset_resolver import (
collect_asset_ids_for_chapter,
@@ -9,7 +10,7 @@ from app.features.memoir.asset_resolver import (
split_markdown_by_asset_refs,
strip_legacy_image_placeholders,
)
from app.features.memoir.models import Chapter, ChapterSection
from app.features.memoir.models import Chapter
class AssetResolverTest(unittest.TestCase):
@@ -49,16 +50,24 @@ class AssetResolverTest(unittest.TestCase):
canonical_markdown="![x](asset://a1)",
cover_asset_id="cov1",
)
ch.sections = [
ChapterSection(
id="s1",
chapter_id="c1",
order_index=0,
content="![y](asset://a2)",
)
]
ids = collect_asset_ids_for_chapter(ch)
self.assertEqual(ids, {"a1", "a2", "cov1"})
self.assertEqual(ids, {"a1", "cov1"})
def test_collect_asset_ids_includes_linked_story_markdown(self):
ch = SimpleNamespace(
canonical_markdown="",
sections=[],
cover_asset_id=None,
story_links=[
SimpleNamespace(
story=SimpleNamespace(
canonical_markdown="![主图](asset://from-story-1)"
)
)
],
)
ids = collect_asset_ids_for_chapter(ch)
self.assertEqual(ids, {"from-story-1"})
if __name__ == "__main__":