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, + }); +})();