# -*- coding: utf-8 -*- """PLAN 176-3 — B05 3D 측점 노란 띠 끝 주황 구슬(측구 방향 고르기) · 클릭 · 처리기 지움. 저장 길(세션 uphill → uphill_overrides)과 B06 이 쓰는 종단 병합 함수는 남김. """ import os ROOT = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "..") def _read(*parts): with open(os.path.join(ROOT, *parts), encoding="utf-8") as f: return f.read() def test_markers_have_no_lamp(): src = _read("B05_Profile", "B05_Profile_UI_Markers.ts") for gone in ("uphillStationId", "onUphillPick", "0xf97316", "UPHILL_LAMP", "lampHit"): assert gone not in src, gone def test_page_has_no_lamp_handler(): src = _read("A00_Common", "design", "design_view_profile.ts") assert "onUphillPick" not in src assert "uphillOverrides" not in _read("B05_Profile", "B05_Profile_UI_Page_Stations.ts") def test_save_path_and_merge_kept(): # 저장 길(세션 → 저장 몸통)과 B06 이 부르는 종단 병합 함수는 그대로 # 값 주인 = 세션 칸 `uphill` 하나 — 종단 보기 메모리 사본(uphillOverrides) 걷음(472-5) page = _read("A00_Common", "design", "design_view_profile.ts") assert "uphillOverrides" not in page # 상단측 본문 = 기본 조각 한 벌(463 · 472-6) — 종단 보기 몫 없음(사본 걷음 · 472-5) assert "uphill:" not in _read("B05_Profile", "B05_Profile_UI_Page_Actions.ts") assert "body: await routePartsBody(projectId)," in _read( "A00_Common", "design", "design_save.ts" ) assert "uphill_overrides: uphillOverridesOf(projectId)," in _read( "B05_Profile", "B05_Profile_Api_Fetch.ts" ) assert "def _merge_uphill_overrides_into_longitudinal" in _read( "B05_Profile", "B05_Profile_Router_Confirm.py" )