Files
Aislo/resources/tester/test_746_2_hopyo_compare_screen.py
T
eomsangdonandClaude Sonnet 5.5 6732842a8e feat(746-2): 고르기 창 후보 블록 줄 비교 표 · 못옮김 · 안 이은 기계 줄 M01 요소 후보 단추
- 고름 대기 칸에 후보(앞 셋)마다 줄 비교 표(줄 · 엑셀 품 · 기초 품 · 꼴 배지) · 후보 고름 칸과 동기 · 칸 글에 같음 · 품 다름 수 · 판정 · 미리 고름 그대로
- 못옮김 잇기 창 · 안 이은 줄 창에 M01 요소 후보 셋 단추(누르면 이음 고름) · 안 이은 줄 창 기초 후보 칸에는 요소 후보가 안 섞이게 가름
- 새 파일 Hopyo_Compare.ts · 새 지킴 시험 test_746_2_hopyo_compare_screen

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 22:17:48 +09:00

49 lines
1.8 KiB
Python

"""746-2 지킴 — 불러오기 고르기 창 후보 블록 줄 비교 · 요소 후보 화면(요구 585).
서버 없이 소스로 잡음: 고름 대기 칸이 줄 비교 표를 붙임 · 못옮김 창 · 안 이은 줄 창이 요소 후보 단추를 붙임 ·
안 이은 줄 창의 기초 후보 칸에 요소 후보(`키`)가 섞여 들어가지 않음 · 서버 응답 칸 이름 · 부품 상자만 · 700 줄.
"""
import re
from pathlib import Path
M02 = Path(__file__).resolve().parents[2] / "M02_MasterTemplete"
def _src(name: str) -> str:
return (M02 / f"M02_MasterTemplete_Hopyo_{name}.ts").read_text(encoding="utf-8")
def test_고름_대기_칸이_줄_비교_표를_붙임():
sk = _src("WizardSk")
assert "compareView(x.후보)" in sk and "cmp?.show(pick.select.value)" in sk
assert "compareBrief(c.줄비교)" in sk # 선택 칸 글에 같음 · 품다름 수
def test_못옮김_창_안_이은_줄_창이_요소_후보_단추를_붙임():
assert "elemChoices(x.후보" in _src("Lost")
left = _src("Left")
assert "elemChoices(row.후보.filter(isElem)" in left
assert (
"row.후보.filter((c): c is SangeunCand => !isElem(c))" in left
) # 기초 후보 칸에는 요소 후보 안 듦
def test_서버_응답_칸_이름_그대로():
api = _src("Api")
for name in (
"줄비교?: SangeunCompare | null",
"엑셀: number | null",
"기초: number | null",
"못옮김: SangeunLost[]",
):
assert name in api
assert 'CompareLook = "같음" | "품다름" | "엑셀만" | "기초만"' in api
def test_부품_상자만_날_요소_없음_700줄_안():
src = _src("Compare")
assert not re.search(r'createElement\("(button|input)"|<button|<input', src)
for name in ("Compare", "WizardSk", "Lost", "Left"):
assert len(_src(name).splitlines()) <= 700