- 판정 = 자체 로직 편집 · 시험 값 고침 · M02 줄 덮음 · 비목 박스 소계 모두 수식 보기로 됨(살릴 것 없음) - M01 상세: 숨은 단가산출 상세 덩이 · 자체 로직 시트 편집기 · 시험 고침 · 셈 구동(createDrive) · 보기 이름표(View.ts) · data-view CSS 걷음 - M02 불러오기 모달 머리 [항목 추가] · [율 줄 추가] 단추와 그 창(Rate.ts · openSangeunLinePicker) 걷음 - 글 정리 = Info_Own 새 뜻 · 죽은 글 키 · No_Key · 항목 추가 글 걷음 - 낡은 시험 고침 = 722(시험 고침 · 덮기 셈) · 799-2 · 804-2 · 804-6 · 804-7 · 806-1 · 717-2b · 717-4 · 721 · 728-2 — 걷은 것이 없음 확인으로 - 남김 = M02 수식 문서 없는 줄의 단가산출 상세 몸(cover · buildHo) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
67 lines
2.7 KiB
Python
67 lines
2.7 KiB
Python
"""804-6(요구 686-1) — 옛 수식 문서 탭 걷음 · 줄 쌓기 = 첫 「수식」 탭 지킴.
|
|
|
|
① 걷은 파일 없고 부르는 곳 없음 ② M01 · M02 보기 = 수식(줄 쌓기) · 단가산출 상세
|
|
③ 줄 쌓기가 사본 [단가 갱신] · [재생성] · 판 바뀜 다시 저장을 이어 받음.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parents[2]
|
|
GONE = [
|
|
"A00_Common/formula_doc_screen.ts",
|
|
"A00_Common/formula_doc_defs.ts",
|
|
"A00_Common/formula_doc_edit.ts",
|
|
"A00_Common/formula_doc_lines.ts",
|
|
"A00_Common/formula_doc_math.ts",
|
|
"A00_Common/formula_doc_math_model.ts",
|
|
"A00_Common/formula_doc_rows.ts",
|
|
"A00_Common/formula_doc_sub.ts",
|
|
"A00_Common/formula_doc.css",
|
|
"A00_Common/sheet_formula_cell.ts",
|
|
"M01_MasterData/M01_MasterData_UI_LogicLab_Equation.ts",
|
|
"M01_MasterData/M01_MasterData_UI_LogicLab_Equation.css",
|
|
"M01_MasterData/M01_MasterData_UI_LogicLab_EquationDefs.ts",
|
|
"M01_MasterData/M01_MasterData_UI_LogicLab_EquationVar.ts",
|
|
"M01_MasterData/logic/M01_Logic_Equation_Model.ts",
|
|
"ui_template/ui_template_equation_defs.ts",
|
|
"ui_template/ui_template_equation_edit.ts",
|
|
]
|
|
|
|
|
|
def _text(rel: str) -> str:
|
|
return (ROOT / rel).read_text(encoding="utf-8")
|
|
|
|
|
|
def test_걷은_파일_없고_부르는_곳_없음():
|
|
assert not [g for g in GONE if (ROOT / g).exists()]
|
|
names = [Path(g).name.rsplit(".", 1)[0] for g in GONE]
|
|
out = subprocess.run(
|
|
["git", "-c", "core.quotepath=off", "ls-files", "*.ts", "*.css", "*.html"],
|
|
cwd=ROOT, capture_output=True, text=True, encoding="utf-8", check=True,
|
|
).stdout # fmt: skip
|
|
for rel in out.splitlines():
|
|
if rel.startswith(("docs/", "tmp/")) or not (ROOT / rel).exists():
|
|
continue
|
|
text = (ROOT / rel).read_text(encoding="utf-8", errors="ignore")
|
|
for n in names:
|
|
assert f'/{n}"' not in text and f"{n}.css" not in text, (rel, n)
|
|
|
|
|
|
def test_보기_수식은_줄쌓기_첫탭():
|
|
for rel in ("M02_MasterTemplete/M02_MasterTemplete_Sangeun_Tabs.ts",):
|
|
src = _text(rel)
|
|
assert "createSegment" not in src and '"equation"' not in src, rel # 836-3 고르기 없음
|
|
lab = _text("M01_MasterData/M01_MasterData_UI_LogicLab.ts")
|
|
assert "createStackScreen({" in lab and "createDocScreen" not in lab
|
|
|
|
|
|
def test_줄쌓기가_사본_할일_이어받음():
|
|
src = _text("A00_Common/line_stack_screen.ts")
|
|
assert "copyTools(true, (job) => void runJob(job))" in src
|
|
assert 'call<JobReply>("/preview", { 할일: job })' in src
|
|
assert "e.status !== 409" in src and "#끊음" not in src
|
|
assert len(src.splitlines()) <= 700
|