推进 INI 面板运行摘要 helper

This commit is contained in:
2026-06-14 17:44:20 +08:00
parent ccd6b67e35
commit 8137cce488
5 changed files with 165 additions and 13 deletions

View File

@@ -0,0 +1,66 @@
import assert from "node:assert/strict";
import {
createRunSummary,
} from "../../../runtime/ui/ini-panel/run-summary.js";
const program = {
source: "snapshot",
opfsPath: "linuxcnc/gcode/ui-session.ngc",
wasmPath: "/work/ui-session.ngc",
};
const snapshot = {
sessionId: "ui-machine-session",
metadata: {
workflow: "save-session-snapshot",
snapshotLabel: "ui-machine-session/ui-machine-session.json",
},
};
assert.deepEqual(
createRunSummary(program, {
runStatus: "ok",
iniWasmPath: "/work/session-machine.ini",
canonicalEventCount: 2,
motionSnapshotCount: 2,
}, snapshot),
{
runStatus: "ok",
programSource: "snapshot",
snapshotLabel: "ui-machine-session/ui-machine-session.json",
workflow: "save-session-snapshot",
programOpfsPath: "linuxcnc/gcode/ui-session.ngc",
programWasmPath: "/work/ui-session.ngc",
iniWasmPath: "/work/session-machine.ini",
canonicalEventCount: 2,
motionSnapshotCount: 2,
},
);
assert.deepEqual(
createRunSummary({
source: "default",
opfsPath: "linuxcnc/gcode/ui-session.ngc",
wasmPath: "/work/ui-session.ngc",
}),
{
runStatus: "ok",
programSource: "default",
snapshotLabel: null,
workflow: null,
programOpfsPath: "linuxcnc/gcode/ui-session.ngc",
programWasmPath: "/work/ui-session.ngc",
iniWasmPath: null,
canonicalEventCount: 0,
motionSnapshotCount: 0,
},
);
assert.equal(
createRunSummary(program, {
snapshotLabel: "override-session/override.json",
}, snapshot).snapshotLabel,
"override-session/override.json",
);
console.log("ini_panel_run_summary_node_smoke=ok");

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "$0")/../../.." && pwd)"
node "$ROOT_DIR/tests/ui/node/verify_ini_panel_run_summary.mjs"