From 4a4cdc8aa9e1bab55637375030447782689d3954 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 5 Oct 2026 19:33:10 +0900 Subject: [PATCH] =?UTF-8?q?fix(ui):=2051-5=20=EB=8B=A8=EC=9C=84=20?= =?UTF-8?q?=EA=B3=A0=EB=A5=B4=EA=B8=B0=20=EB=8B=A8=EC=B6=94=20=3D=20?= =?UTF-8?q?=EA=B3=B5=EC=9A=A9=20=EA=B8=B0=EB=B3=B8=20=ED=81=AC=EA=B8=B0([?= =?UTF-8?q?=EC=A0=80=EC=9E=A5]=EA=B3=BC=20=EA=B0=99=EC=9D=80=20=EB=86=92?= =?UTF-8?q?=EC=9D=B4=20=C2=B7=20=EA=B8=80=EC=9E=90)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 공용 UnitPick 한 곳 — 작은 크기 지정 제거 - 시험: ui_checks/51-5_단위단추_크기.js Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK --- .../DataFlow/M02_DF_UnitPick.ts | 1 - .../tester/ui_checks/51-5_단위단추_크기.js | 35 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 resources/tester/ui_checks/51-5_단위단추_크기.js diff --git a/M02_MasterTemplete/DataFlow/M02_DF_UnitPick.ts b/M02_MasterTemplete/DataFlow/M02_DF_UnitPick.ts index 2883c6835..ed0cd9dd0 100644 --- a/M02_MasterTemplete/DataFlow/M02_DF_UnitPick.ts +++ b/M02_MasterTemplete/DataFlow/M02_DF_UnitPick.ts @@ -106,7 +106,6 @@ export function createUnitPick(opts: UnitPickOptions): HTMLElement { const open = createButton({ label: opts.value || NO_UNIT, variant: "ghost", - size: "sm", disabled: opts.readOnly, onClick: () => toggle(), }); diff --git a/resources/tester/ui_checks/51-5_단위단추_크기.js b/resources/tester/ui_checks/51-5_단위단추_크기.js new file mode 100644 index 000000000..9fd87f7d3 --- /dev/null +++ b/resources/tester/ui_checks/51-5_단위단추_크기.js @@ -0,0 +1,35 @@ +/* 51-5 — 단위 고르기 단추(공용 M02_DF_UnitPick) 높이 · 글자 = [저장] 단추와 같음 + * 시작 화면: M02 마스터 템플릿 · 마스터 층(#/m02-master-template?open=구조물조합&root=master) · 시스템 관리자 + * 부르는 법: orca eval --expression "$(tr '\n' ' ' < 이 파일)" (async 식 · JSON 글을 돌려줌) + * 하는 일: item1 → 일위대가 [수정] 상세 → 단위 단추 · [저장] 단추 높이 · 글자 크기 잼 + * 기대: ok = true (|unit.h − save.h| ≤ 1 · 글자 같음) + */ +(async () => { + const w = (ms) => new Promise((r) => setTimeout(r, ms)); + document.querySelector('[data-node="i|item1"]')?.click(); + await w(2500); + const card = [...document.querySelectorAll(".m02-struct__card")].find((c) => + c.querySelector("table.m02-labrow tbody tr[data-labor-logic]"), + ); + if (!card) return JSON.stringify({ error: "일위대가 카드 없음" }); + [...card.querySelectorAll(".m02-struct__card-tools button")] + .find((b) => b.innerText.trim() === "수정") + ?.click(); + await w(3000); + const read = (b) => + b && { + h: Math.round(b.getBoundingClientRect().height * 10) / 10, + font: getComputedStyle(b).fontSize, + }; + const unit = read(document.querySelector('[data-labor-field="단위"] .ui-btn')); + const save = read( + [...document.querySelectorAll("button")].find( + (b) => b.innerText.trim() === "저장" && b.offsetParent, + ), + ); + return JSON.stringify({ + unit, + save, + ok: !!unit && !!save && Math.abs(unit.h - save.h) <= 1 && unit.font === save.font, + }); +})();