推进 OPFS 机器会话快照保存入口

This commit is contained in:
2026-06-14 15:03:33 +08:00
parent 2bff22e0d9
commit a829984300
4 changed files with 147 additions and 0 deletions

View File

@@ -17,6 +17,7 @@
import {
createMachineSessionSnapshotPayload,
loadSessionSnapshot,
saveMachineSessionSnapshot,
saveSessionSnapshot,
} from "../../runtime/opfs/snapshot-store.js";
import {
@@ -204,6 +205,42 @@ TOOL_TABLE = browser-tool.tbl
customSnapshot.metadata.source,
"custom snapshot metadata",
);
const machineSessionSnapshot = await saveMachineSessionSnapshot(
"browser-machine-session",
"browser-smoke",
{
filename: "browser-machine-snapshot.json",
parameterFilename: "browser-linuxcnc.var",
toolTableFilename: "browser-tool.tbl",
gcodeFilename: "browser-smoke.ngc",
createdAt: "2026-06-08T00:00:00.000Z",
metadata: { source: "browser-machine-session" },
},
);
const loadedMachineSessionSnapshot = await loadSessionSnapshot(
"browser-machine-session",
{ filename: "browser-machine-snapshot.json" },
);
assertEqual(
machineSessionSnapshot.payload.files.parameters,
"linuxcnc/machines/browser-smoke/browser-linuxcnc.var",
"machine session snapshot parameter file",
);
assertEqual(
machineSessionSnapshot.payload.files.toolTable,
"linuxcnc/machines/browser-smoke/browser-tool.tbl",
"machine session snapshot tool table",
);
assertEqual(
loadedMachineSessionSnapshot.payload.files.gcode,
"linuxcnc/gcode/browser-smoke.ngc",
"machine session snapshot G-code",
);
assertEqual(
loadedMachineSessionSnapshot.metadata.source,
"browser-machine-session",
"machine session snapshot metadata",
);
await assertRejects(
"browser snapshot invalid filename save",
() => saveSessionSnapshot("browser-session", {}, {