test(옛 실패 셋): 551-2 · 346-3 · 449 낡은 단언 고침 (요구 450-2)
- test_551_2: --draw-* 개수 고정(21) 걷음 — 밝음이 전부 정의 · 어두움/시스템 어두움은 밝음 안의 것만 덮음 · 캔버스가 읽는 이름은 세 모드 모두 풀림 (지도 겹 · 차트 색이 늘어 51) - test_346_3_route_save_screen: [저장] 본문의 route/carry 줄 단언을 정규식으로 — alignment_cleared 칸이 덧붙음 - test_449 헬퍼: 자체 풀이 함수 걷고 공용 불러오기 기본 풀이로 — @ui 로케일 · .css import 를 못 찾아 시작 못 했음 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,9 +1,7 @@
|
||||
/* PLAN 449 헬퍼 — [저장] 관 차례 · 노선 저장 뒤 실패(433-7 · 433-12). 실제 `design_save.ts` · 관 초안 창구 · 가게를
|
||||
* Node 로 · 서버 창구 · 계획고 초안 · 노선 편집 창구만 가짜. 짝 = `test_449_save_pipes.py`. */
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const { makeLoader } = require("./helper_ts_stub_loader.cjs");
|
||||
const CATALOG = require("./helper_322_catalog_module.cjs");
|
||||
|
||||
const ROOT = path.join(__dirname, "..", "..");
|
||||
|
||||
@@ -27,18 +25,10 @@ globalThis.window = {
|
||||
};
|
||||
|
||||
const STUBS = { "/design_leave": { designSignature: () => "", markDesignClean: () => undefined } };
|
||||
const { load, loadTs } = makeLoader({
|
||||
const { load } = makeLoader({
|
||||
root: ROOT,
|
||||
requireFor: (full) => (request) => {
|
||||
if (CATALOG.isCatalogRequest(request)) return CATALOG;
|
||||
const key = Object.keys(STUBS).find((name) => request.endsWith(name));
|
||||
if (key) return STUBS[key];
|
||||
if (request.startsWith("@config/")) return { API_BASE_URL: "http://fake" };
|
||||
if (request.startsWith("@util/"))
|
||||
return loadTs(path.join(ROOT, "common_util", `${request.slice(6)}.ts`));
|
||||
if (request.startsWith(".")) return loadTs(path.join(path.dirname(full), `${request}.ts`));
|
||||
return require(request);
|
||||
},
|
||||
stubs: STUBS,
|
||||
ui: () => ({ ui_locales: {}, currentLanguageIndex: 0, t: (key) => key }),
|
||||
});
|
||||
|
||||
let calls = [];
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
import re
|
||||
import subprocess
|
||||
from pathlib import Path
|
||||
|
||||
@@ -118,7 +119,7 @@ def test_노선_반영_단추_없앰_배선():
|
||||
save = _read("A00_Common/design/design_save.ts")
|
||||
assert "await pendingRouteSave(ctx.projectId)" in save
|
||||
# 6-B — 노선 초안 = 한 본문 `route` 칸 · 서버가 맨 앞에서 노선 저장(옛 차례 길 걷음)
|
||||
assert "route ? { route, carry: carried?.carry } : {}" in save
|
||||
assert re.search(r"route \? \{ route, carry: carried\?\.carry[^}]*\} : \{\}", save)
|
||||
assert "carryAfterRouteSave" not in save and "saveRouteDraft" not in save
|
||||
server = _read("B06_Section/B06_Section_Router_DesignSave.py")
|
||||
assert server.index('step("route"') < server.index('step("settings"')
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
"""551-2 그림 전용 값(--draw-*) 지킴 — 화면 테마 변수(--color-*)를 바꿔도 그림 색은 그대로.
|
||||
|
||||
- `ui_template_theme.css` 끝 블록의 --draw-* 는 밝음 · 어두움 · 시스템 어두움 모두 글자 hex.
|
||||
- `ui_template_theme.css` 끝 블록의 --draw-* 는 밝음 · 어두움 · 시스템 어두움 모두 글자 hex · 어두움 · 시스템 어두움은 밝음에 있는 것만 덮음.
|
||||
- 그림 CSS(B05 · B06 · B08 SVG)의 stroke · fill 은 --color-* 를 쓰지 않음.
|
||||
- 지도 · 3D · CAD 캔버스가 읽는 바탕 · 선 색은 --draw-*.
|
||||
- 옛 변수 값을 일부러 바꿔도 그림 선언의 풀린 색이 같음(밝음 · 어두움 · 시스템 어두움).
|
||||
@@ -50,6 +50,7 @@ NO_COLOR_READS = [
|
||||
"B07_DesignDetail/openwebcad/src/drawControllers/screenCanvas.drawController.ts",
|
||||
]
|
||||
|
||||
DRAW_NAMES_READ = {m for _, n in DRAW_READS for m in re.findall(r"--draw-[a-z-]+", n)}
|
||||
DECL = re.compile(r"^\s*(stroke|fill|stop-color|--b06-tag)\s*:(.*);", re.M)
|
||||
VAR = re.compile(r"var\((--[a-z0-9-]+)(?:\s*,\s*([^()]*(?:\([^()]*\))?[^()]*))?\)")
|
||||
HEX = re.compile(r"#[0-9a-f]{6}")
|
||||
@@ -124,7 +125,14 @@ def test_draw_values_are_literal_hex():
|
||||
assert draws, mode
|
||||
for name, value in draws.items():
|
||||
assert HEX.fullmatch(value), (mode, name, value)
|
||||
assert len([k for k in blocks["light"] if k.startswith("--draw-")]) == 21
|
||||
# 밝음 블록이 전부 정의 · 어두움 · 시스템 어두움은 그 안의 것만 덮음(고정 개수 아님)
|
||||
light = {k for k in blocks["light"] if k.startswith("--draw-")}
|
||||
for mode in ("dark", "auto"):
|
||||
assert {k for k in blocks[mode] if k.startswith("--draw-")} <= light, mode
|
||||
# 캔버스 · 3D 가 읽는 바탕 · 선 색은 세 모드 모두에서 풀림
|
||||
for mode, env in _modes(THEME.read_text(encoding="utf-8")).items():
|
||||
for name in DRAW_NAMES_READ:
|
||||
assert name in env, (mode, name)
|
||||
|
||||
|
||||
def test_drawing_css_uses_no_screen_tokens():
|
||||
|
||||
Reference in New Issue
Block a user