Merge remote-tracking branch 'origin/dev' into sub_laptop_7

# Conflicts:
#	resources/tester/test_m02_hopyo_screen.py
This commit is contained in:
2026-11-01 15:33:12 +09:00
2 changed files with 7 additions and 14 deletions
@@ -82,20 +82,13 @@ def test_해시_진입_셋():
assert got["open"] == want and got["root"] == "master" and got["company"] == "3"
def test_reveal_옵션만_줄을_누름():
def test_reveal_옵션은_M01_로():
side = _text(M02 / "M02_MasterTemplete_UI_Side.ts")
body = side.split("const reveal = ")[1].split("\n };")[0]
assert "if (!sec) return;" in body # 시스템 층 아니면 옵션 · 도면 줄 없음
assert 'sec.classList.remove("is-collapsed");' in body # 도면 = 펼치기만
assert (
'if (target === "옵션") options.body.querySelector<HTMLElement>("button")?.click();' in body
)
# 옵션 컨테이너 안 단추 = 「구조물 옵션 정의」 줄 하나뿐
options = _text(M02 / "StructOptions" / "M02_SO_Options.ts")
assert options.count('el("button"') == 1
assert "openDefScreen" in options
# 옵션 컨테이너 = 구조물 옵션 정의 줄 · 시스템 층에만
assert "옵션: section(options.title, options.body)," in side
# 716-1 · 716-3 — 옵션 정의는 M01 로 옮김 · M02 reveal 은 일위대가 · 도면만 펼침
assert 'target === "일위대가조합" ? precomboSec : target === "도면" ? drawing : null' in body
assert 'sec?.classList.remove("is-collapsed");' in body
assert "options" not in body and "옵션: section(" not in side
page = _text(M02 / "M02_MasterTemplete_UI_Page.ts")
assert 'if (entry.open !== "구조물조합") side.reveal(entry.open);' in page
+2 -2
View File
@@ -339,8 +339,8 @@ def test_좌측_판_자리와_권한():
assert 'import { buildHopyoSection } from "./M02_MasterTemplete_Hopyo_Side";' in side
host = side.split('className: "m02-side__lists ui-sidebar-panel"')[1]
# 716-3 차례 — 일위대가 › 구조물 조합 › 구분선 › 일위대가 불러오기 › 도면 양식
assert host.index("precomboSec,") < host.index("section(hopyo.title, hopyo.body),")
assert host.index("createDivider(),") < host.index("section(hopyo.title, hopyo.body),")
order = ("precomboSec,", "summary,", "createDivider(),", "section(hopyo.title, hopyo.body),")
assert [host.index(k) for k in order] == sorted(host.index(k) for k in order)
assert host.index("section(hopyo.title, hopyo.body),") < host.index("drawing ?")
assert "canWrite: canEdit(layer, opt.isAdmin)," in side # 구조물 조합 층 쓰기 권한
assert "hopyo.paint();" in side.split("function paint(): void {")[1]