- reapply(who) · 라우터가 세션 가져온이를 넘김 - M02_SO_Style.css 미리보기 상자 이름표 단추 = B05 작은 단추 틀과 같은 꼴 - 시험: test_item_copy_complete 재적용 가져온이 · test_136_3 M02 규칙 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015sDZSjFvoiDjdGpgj3muc3
52 lines
2.0 KiB
Python
52 lines
2.0 KiB
Python
"""136-3 상자 이름표 [빼기] → [삭제] · 「구조물 조합」 [선택]과 같은 작은 단추 틀 ·
|
|
흐림은 이름표 글에만.
|
|
|
|
공용 명세 폼(`design_structure_form.ts`)을 그 자리에서 돌린 값
|
|
(`helper_54_10_soil_tiers.cjs` 의 `remove`) + CSS 규칙(`B05_Profile_UI_Style_Structures.css`).
|
|
"""
|
|
|
|
import json
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
HERE = Path(__file__).parent
|
|
ROOT = HERE.parents[1]
|
|
CSS = (ROOT / "B05_Profile" / "B05_Profile_UI_Style_Structures.css").read_text(encoding="utf-8")
|
|
|
|
|
|
def _rule(selector: str) -> str:
|
|
"""선택자부터 그 규칙 끝(`}`)까지."""
|
|
at = CSS.index(selector)
|
|
return CSS[at : CSS.index("}", at)]
|
|
|
|
|
|
@pytest.mark.skipif(not (ROOT / "config" / "node_modules").is_dir(), reason="의존성 미설치")
|
|
def test_이름표_단추_글은_삭제():
|
|
done = subprocess.run( # noqa: S603 — 고정 실행 파일
|
|
["node", str(HERE / "helper_54_10_soil_tiers.cjs")],
|
|
capture_output=True,
|
|
text=True,
|
|
encoding="utf-8",
|
|
)
|
|
assert done.returncode == 0, done.stderr
|
|
remove = json.loads(done.stdout)["remove"]
|
|
assert {"id": "chute_add", "text": "삭제", "title": "도수로/돌붙임 상자 삭제"} in remove
|
|
assert all(b["text"] == "삭제" for b in remove)
|
|
|
|
|
|
def test_이름표_단추는_작은_단추_틀_흐림은_글에만():
|
|
small = _rule(".b05-structure__group > legend > button")
|
|
assert ".b05-structure__group-body button:not(.b05-structure__step)" in CSS
|
|
assert "height: var(--b05-control-h)" in small and "padding-block: 0" in small
|
|
legend = _rule(".b05-structure__group > legend {")
|
|
assert "opacity" not in legend and "currentColor 80%" in legend
|
|
|
|
|
|
def test_M02_미리보기_이름표_단추도_작은_단추_틀():
|
|
css = (ROOT / "M02_MasterTemplete" / "StructOptions" / "M02_SO_Style.css").read_text("utf-8")
|
|
at = css.index(".m02-sod__block .b05-structure__group > legend > button")
|
|
rule = css[at : css.index("}", at)]
|
|
assert "height: 26px" in rule and "padding-block: 0" in rule
|