Files
Aislo/resources/tester/test_m02_128_icon_chip_center.py
T

60 lines
3.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- coding: utf-8 -*-
"""128 — 구조물 조합 다이어그램 아이콘 단추 · 면적산출 아래 막대 도면 칩(✓ / ✗) · 알약 글 세로 가운데(원문 · CSS 단언)."""
import os
import re
HERE = os.path.dirname(os.path.abspath(__file__))
ROOT = os.path.join(HERE, "..", "..")
def _read(*parts: str) -> str:
with open(os.path.join(ROOT, *parts), encoding="utf-8") as f:
return f.read()
def _block(css: str, selector: str) -> str:
return css.split(f"\n{selector} {{", 1)[1].split("}", 1)[0]
def test_다이어그램_작게_크게_한눈에_아이콘_단추_128_1():
src = _read("M02_MasterTemplete", "M02_MasterTemplete_Labor_Diagram.ts")
# 공용 단추 + 기호 · 글은 title · aria-label
assert 'createButton({ label: glyph, variant: "ghost", size: "sm", onClick })' in src
assert "b.title = td(key);" in src and 'b.setAttribute("aria-label", td(key));' in src
assert 'icon("−", "Zoom_Out"' in src
assert 'icon("+", "Zoom_In"' in src
assert 'icon("⤢", "Fit"' in src
# 글 단추로 남은 것 없음
assert 'label: td("Zoom_' not in src and 'label: td("Fit")' not in src
css = _read("M02_MasterTemplete", "M02_MasterTemplete_Labor_Diagram.css")
assert "min-width" in _block(css, ".m02-labordg__icon")
def test_도면_칩_라운드_사각_값_맞음_다름_기호_128_2():
src = _read("M02_MasterTemplete", "M02_MasterTemplete_AreaToDrawing.ts")
assert 'same: "✓"' in src and 'diff: "✗"' in src
# 뜻은 마우스 올림 글(설명 → 꼬리표 title)
assert re.search(r'sameTip: "값 맞음 — ', src) and re.search(r'diffTip: "값 다름 — ', src)
assert 'noTable: "도면에 표 없음"' in src and 'gone: "범위 없음"' in src # 막힘은 글 그대로
rng = _read("A00_Common", "spreadsheet", "spreadsheet_link_range.ts")
assert "if (tag && state?.설명) tag.title = state.설명;" in rng
css = _read("A00_Common", "spreadsheet", "spreadsheet_links.css")
chip = _block(css, ".ss-link--range")
assert "border-radius: calc(var(--radius-buttons) / 2)" in chip # 알약(999px)과 다른 모양
assert "999px" in _block(css, ".ss-link") # 입력 알약은 그대로
assert "line-height: 16px" in _block(css, ".ss-link--range .ui-tag")
def test_알약_연결_모두_해제_글_세로_가운데_128_3():
css = _read("A00_Common", "spreadsheet", "spreadsheet_links.css")
pill = _block(css, ".ss-link")
assert "align-items: center" in pill and "baseline" not in pill
assert "min-height: 22px" in pill and "line-height: 16px" in pill
assert "box-sizing: border-box" in pill
# [연결 모두 해제] · [+ 자재 추가] 는 .ss-link 를 이어받음 — 따로 세로 맞춤을 덮지 않음
for sel in (".ss-link--clear", ".ss-link--add"):
assert "align-items" not in _block(css, sel) and "line-height" not in _block(css, sel)
links = _read("A00_Common", "spreadsheet", "spreadsheet_links.ts")
assert 'className: "ss-link ss-link--clear"' in links