Files
Aislo/resources/tester/test_368_3_cross_modal.py
T
eomsangdonandClaude Opus 5.5 c8be383428 feat(B05 종단): 원지반 점 임시 횡단 작은 창 · [측점 추가] · 점선 · 우클릭 측점 삭제 (368-3)
- 도구 꺼진 때 원지반선 근처 누름(정수 m) · 추가 측점 선 누름 = 종단 칸 안 작은 창
- 내용 = 서버 미리 뜬 횡단(저장 계획선 기준) · 평면 우측 횡단과 같은 그림 · 확대 · 이동
- [측점 추가] · [삭제] · [닫기] · 같은 m 측점 있으면 막음 · 우클릭 「측점 삭제」
- 추가 측점 세로선 = 일반측점 색 점선(--plus)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QyNXY2TUKXCFMwAca2APG
2026-10-17 12:09:07 +09:00

34 lines
1.5 KiB
Python

"""368-3 원지반 점 임시 횡단 작은 창 · 추가 측점 점선 · 우클릭 「측점 삭제」 — 연결 자리를 소스로 봄.
화면 동작(누름 → 창 → [측점 추가] → B06 카드 → 삭제)은 ORCA 로 확인.
"""
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
def _read(relative: str) -> str:
return (ROOT / relative).read_text(encoding="utf-8")
def test_추가_측점_선_점선_끌기_없음() -> None:
graph = _read("B06_Section/B06_Section_UI_Longitudinal.ts")
assert 'station.kind === "irregular" && !station.plus' in graph
assert 'station.plus ? "plus" : station.kind' in graph
css = _read("B06_Section/B06_Section_UI_Style_Cross.css")
rule = css[css.index(".b06-chart__station-line--plus") :].split("}")[0]
assert "var(--color-warning)" in rule and "stroke-dasharray: 5 3" in rule
assert "PLUS_OWNER_PREFIX" in _read("B05_Profile/B05_Profile_UI_Profile_Layout.ts")
def test_누름_작은_창_우클릭_삭제() -> None:
render = _read("B05_Profile/B05_Profile_UI_Profile_Render.ts")
assert "groundPickAt(chartWrap, event" in render and "openCrossModal(" in render
assert "onRemovePlus: removePlusStation" in render
menu = _read("B05_Profile/B05_Profile_UI_Profile_Structures.ts")
assert '"측점 삭제", () => options.onRemovePlus?.(near.station.chainage_m)' in menu
modal = _read("B05_Profile/B05_Profile_UI_Profile_CrossModal.ts")
assert "previewStructureSections(projectId(), [m])" in modal
assert "add.disabled = taken" in modal # 같은 m 막음