feat(M02): 359-4 실무자료 단추 명사형 · 별칭 장부 풀이 시험
- [맞음 · 별칭 모두 체크] → [맞음 · 별칭 일괄 체크] · 머리 글 [엑셀 보기] - 시험: 별칭 장부 뜻 한 줄 · 좌측 단추 title · 장부 단추 명사형 · 갈래 글 · 옛 서술형 글 없음(내 몫 다섯 파일) - 로케일 단추 글(M02_New · M02_Reload · M02_PracticeDrop 등)은 sub6 몫으로 손 안 댐 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014utrjfoW831Vc5wJUd13kL
This commit is contained in:
@@ -182,7 +182,7 @@ export function newest(): (key: number) => () => boolean {
|
||||
};
|
||||
}
|
||||
|
||||
/** [맞음 · 별칭 모두 체크] 대상 줄 */
|
||||
/** [맞음 · 별칭 일괄 체크] 대상 줄 */
|
||||
export const sureLines = (lines: HopyoLine[], d: CheckDraft): HopyoLine[] =>
|
||||
lines.filter((l) => ["맞음", "별칭"].includes(l.맞춤.상태) && checkable(l, d));
|
||||
|
||||
@@ -484,7 +484,7 @@ export function buildHopyoCheck(opt: CheckOptions): HTMLElement {
|
||||
const tools: HTMLElement[] = [];
|
||||
if (opt.canWrite) {
|
||||
const sure = sureLines(h.줄, d);
|
||||
const all = createButton({ label: `맞음 · 별칭 모두 체크 (${sure.length})`, size: "sm" });
|
||||
const all = createButton({ label: `맞음 · 별칭 일괄 체크 (${sure.length})`, size: "sm" });
|
||||
all.disabled = !sure.length;
|
||||
all.addEventListener("click", () => {
|
||||
for (const l of sure) d.체크[l.차례] = true;
|
||||
|
||||
@@ -62,9 +62,9 @@ export interface HopyoSheetOptions {
|
||||
canWrite: boolean;
|
||||
/** 사전조합을 만들 층(없으면 `scope` · [로직 추가] = 문서 층) */
|
||||
target?: HopyoScope;
|
||||
/** 처음 고를 호표 번(호표 화면 [엑셀에서 보기]) */
|
||||
/** 처음 고를 호표 번(확인 창 머리 [엑셀 보기]) */
|
||||
호표?: number;
|
||||
/** 처음 보일 단가산출 행(330-3 근거 [엑셀에서 보기]) */
|
||||
/** 처음 보일 단가산출 행(330-3 근거 [엑셀 보기]) */
|
||||
단산행?: number | [number, number];
|
||||
/** 호표 하나를 만들었음 — [로직 추가] 참조 줄 */
|
||||
onImport?: (got: HopyoBuilt, hopyo: HopyoBrief) => void;
|
||||
|
||||
@@ -126,7 +126,7 @@ def test_확인_창_체크한_줄만_몸():
|
||||
]
|
||||
assert got["leftOut"] == {"확인 안 함": 3, "뺌": 1, "% 줄": 1}
|
||||
assert got["checkable"] == [True, True, True, True, False, False, True, False]
|
||||
assert got["sure"] == [1, 2] # [맞음 · 별칭 모두 체크]
|
||||
assert got["sure"] == [1, 2] # [맞음 · 별칭 일괄 체크]
|
||||
assert got["compare"] == "콘크리트공 0.1091 → 0.1091 ✓ · 굴착기 0.29 → 0.31 ≠"
|
||||
assert got["compareMany"] == "굴착기 0.1594 → 0.0889 ≠" # 같은 장비 여러 줄 = 합쳐 한 줄
|
||||
assert got["toTarget"] == [{"호표": 46, "배": 2.3}, {"자재": "MT1", "배": 1}]
|
||||
@@ -283,7 +283,7 @@ def test_옛_즉시_확정과_바로_만들기_없음():
|
||||
users = sorted(name for name, text in texts.items() if "buildHopyo(" in text)
|
||||
assert users == ["Hopyo_Check", "Hopyo_Sheet"] # 확인 창 · 엑셀 보기 [저장] 물음 뒤
|
||||
check = texts["Hopyo_Check"]
|
||||
assert '"사전조합 생성"' in check and "맞음 · 별칭 모두 체크" in check
|
||||
assert '"사전조합 생성"' in check and "맞음 · 별칭 일괄 체크" in check
|
||||
assert "확인하고" not in check # 359-4 명사형
|
||||
assert "showLoadingOverlay()" in check and "dropDraft(k)" in check
|
||||
assert "m02-hopyo-check:" in check and "POLL_MS" in check
|
||||
@@ -473,3 +473,29 @@ def test_확인_창_표_일위대가_상세_꼴_359():
|
||||
code = draft.split("*/", 1)[1] # 머리 글 밖
|
||||
for gone in ("document", "fetch(", "sessionStorage", "@ui/"):
|
||||
assert gone not in code, gone
|
||||
|
||||
|
||||
def test_명사형_단추와_별칭_장부_풀이_359():
|
||||
"""359-4 — 별칭 장부 뜻 한 줄(좌측 단추 title · 화면 머리) · M02 실무자료 단추 = 명사형 ·
|
||||
갈래 글 = 확인 창 드롭다운과 같음(저장 값 그대로)."""
|
||||
ledger = _text("M02_MasterTemplete_Hopyo_Ledger.ts")
|
||||
hint = "엑셀 품명 ↔ 우리 로직 · 자재 짝을 기억해 두었다가 같은 품명이 나오면 먼저 제안"
|
||||
assert hint in ledger and "note(`${LEDGER_HINT}" in ledger
|
||||
side = _text("M02_MasterTemplete_Hopyo_Side.ts")
|
||||
assert "title: LEDGER_HINT" in side
|
||||
for label in ('"변경 취소"', '"로직 추가"', '"내 층 복사"', '"삭제"'):
|
||||
assert f"label: {label}" in ledger, label
|
||||
assert '"우리에 없음": "로직없음"' in ledger and '"안 씀": "사용안함"' in ledger
|
||||
mine = ("Hopyo_Side", "Hopyo_Sheet", "Hopyo_Check", "Hopyo_CheckRows", "Hopyo_Ledger")
|
||||
every = "\n".join(_text(f"M02_MasterTemplete_{n}.ts") for n in mine)
|
||||
for gone in (
|
||||
"고친 것 버림",
|
||||
"로직 더함",
|
||||
"내 층으로 고쳐 씀",
|
||||
"확인하고 사전조합 만들기",
|
||||
"엑셀 올리기",
|
||||
"엑셀에서 보기",
|
||||
"모두 체크 (",
|
||||
'label: "지우기"',
|
||||
):
|
||||
assert gone not in every, gone
|
||||
|
||||
Reference in New Issue
Block a user