"""사토장 단면 — 죽은 길이 남지 않음 (PLAN 380-1 · 요구 241-8). 사토장 · 토취장은 B06 횡단도에 그리지도 조절하지도 않음 — 사토 단면 셈(파이썬 · TS 짝)과 그림 · 면적표 줄 · 모달 띠 · B07 표 칸을 지움. 남은 자리는 둘뿐: · `B06_Section_Cross_Stage.ts` — 옛 사토 값이 남은 앞 출력을 다시 셈(남은 값 정리) · 로케일 키 `B06_Design_SpoilFill_Area` — 로케일은 더하기만 """ from __future__ import annotations import subprocess from pathlib import Path PROJECT_ROOT = Path(__file__).resolve().parents[2] ALLOWED = { "B06_Section/logic/B06_Section_Cross_Stage.ts", "ui_template/ui_template_locale_b2.ts", } def test_사토_단면_코드_파일_없음() -> None: for rel in ( "B06_Section/B06_Section_Engine_SpoilFill.py", "B06_Section/B06_Section_UI_Cross_SpoilFill.ts", "common_util/common_util_spoil_fill.py", "common_util/common_util_spoil_fill.ts", ): assert not (PROJECT_ROOT / rel).exists(), rel def test_사토_단면_칸을_읽는_코드_없음() -> None: out = subprocess.run( # noqa: S603 — 고정 실행 파일 ["git", "grep", "-l", "-i", "-E", r"spoil_fill|spoil-fill|spoilfill|spoil_sites", "--"] + ["*.py", "*.ts", "*.css", ":!resources/tester", ":!docs"], cwd=str(PROJECT_ROOT), capture_output=True, text=True, encoding="utf-8", check=False, ) assert out.returncode in (0, 1), out.stderr assert set(out.stdout.split()) <= ALLOWED, out.stdout