fix(ui): 글 입력 칸 우클릭 브라우저 메뉴도 막음 · B09 설계내역서 글 칸 줄 메뉴(184-1)

- 공용 ui_template_native_menu: 글 입력 칸 예외(isTextEditable) 삭제
- B09 attachRowMenu: 글 칸 위 return 삭제
- 시험: test_common_native_menu 기대값 · test_182 글 칸 줄 메뉴 시험

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018jonfdxn1Xit9bdkNJpE4G
This commit is contained in:
2026-10-10 12:41:04 +09:00
co-authored by Claude Sonnet 5.5
parent 6e1cb86349
commit 2d11682d2a
5 changed files with 65 additions and 35 deletions
+4 -11
View File
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
"""브라우저 기본 오른쪽 클릭 메뉴 막기(PLAN 39-9a) 회귀검증 — 글 입력 칸 판정 · 막기 · 꺼짐 · 대상 주소.
"""브라우저 기본 오른쪽 클릭 메뉴 막기(PLAN 39-9a) 회귀검증 — 글 입력 칸 포함 막기 · 꺼짐 · 대상 주소.
Node 헬퍼(`helper_common_native_menu.cjs`)가 `ui_template/ui_template_native_menu.ts` 를 트랜스파일해
가짜 창 · 가짜 요소로 돌리고, 여기서 값을 판정함.
@@ -27,18 +27,11 @@ def results():
return json.loads(proc.stdout)
def test_글_입력_칸만_살림(results):
e = results["editable"]
assert e["input"] and e["inputNoType"] and e["number"] and e["readonly"]
assert e["textarea"] and e["editable"]
assert not (e["div"] or e["canvas"] or e["checkbox"] or e["range"])
assert not (e["textNode"] or e["none"])
def test_입력_칸_밖은_막음(results):
def test_글_입력_칸도_막음(results):
b = results["blocked"]
assert b["div"] and b["canvas"] and b["checkbox"]
assert not (b["input"] or b["readonly"] or b["textarea"] or b["editable"])
assert b["input"] and b["readonly"] and b["textarea"] and b["editable"]
assert b["textNode"] and b["none"]
def test_꺼지면_안_막고_이벤트는_안_멈춤(results):