Files
Aislo/resources/tester/test_550_1_b01_guide_topics.py
T
eomsangdonandClaude Opus 5.5 dba0078f8c fix(B01): 머리 [?] 가 지금 세부 페이지의 가이드 절로 열림 · 사용자 메뉴 「터치 모드」 글자 꺾임 바로잡음 (PLAN 550-1)
- VIEW_HELP(세부 페이지 열쇠 → B01 가이드 절) · 셸 페이지 자리에 data-help-topic
- 터치 모드 이름 · 자동 · 켬 · 끔 단추 nowrap — 메뉴가 넓어져 한 줄
- 지킴 시험 test_550_1 — [?] 절 · B01 링크 · 장면 그림이 파일과 맞음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 00:59:05 +09:00

34 lines
1.2 KiB
Python

"""550-1 · B01 대시보드 가이드 — 세부 페이지 [?] 절 · 가이드 글 사이 링크 · 장면 그림이 실제 파일과 맞음."""
import json
import re
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
GUIDE = ROOT / "A05_EduDetail" / "guide"
VIEWS = ROOT / "B01_Dashboard" / "B01_Dashboard_UI_Views.ts"
def test_view_help_topics_have_files():
block = VIEWS.read_text(encoding="utf-8").split("VIEW_HELP")[1].split("};")[0]
topics = re.findall(r':\s*"([^"]+)"', block)
assert len(topics) >= 10
for topic in topics:
assert (GUIDE / "B01" / f"{topic}.md").is_file(), topic
def test_guide_links_to_b01_resolve():
for md in GUIDE.glob("*/*.md"):
for page, key in re.findall(r"\]\((B01)/([^)#]+)\)", md.read_text(encoding="utf-8")):
assert (GUIDE / page / f"{key}.md").is_file(), f"{md.name} → {page}/{key}"
def test_b01_images_match_scenes():
names = {
s["name"] for s in json.loads((GUIDE / "B01" / "_scenes.json").read_text(encoding="utf-8"))
}
used = set()
for md in (GUIDE / "B01").glob("*.md"):
used |= set(re.findall(r"\]\((B01_[\w]+)\.webp\)", md.read_text(encoding="utf-8")))
assert used <= names, used - names