按规划继续工作
结论:补齐 OPFS 会话快照自定义文件名与非法快照文件名拒绝验证,覆盖 Node OPFS 与 Chromium OPFS 路径,并通过 host/WASM/browser 聚合验证。
This commit is contained in:
@@ -116,6 +116,43 @@ JOINTS = 3
|
||||
assertEqual(loadedSnapshot.createdAt, savedSnapshot.createdAt, "snapshot timestamp");
|
||||
assertEqual(loadedSnapshot.payload.files.ini, opfsPath, "snapshot payload");
|
||||
assertEqual(loadedSnapshot.metadata.source, "browser-smoke", "snapshot metadata");
|
||||
assertEqual(
|
||||
sessionSnapshotPath("browser-session", "browser-custom-snapshot.json"),
|
||||
"linuxcnc/sessions/browser-session/browser-custom-snapshot.json",
|
||||
"snapshot custom path",
|
||||
);
|
||||
const customSnapshot = await saveSessionSnapshot(
|
||||
"browser-session",
|
||||
snapshotPayload,
|
||||
{
|
||||
filename: "browser-custom-snapshot.json",
|
||||
createdAt: "2026-06-08T00:00:00.000Z",
|
||||
metadata: { source: "browser-smoke-custom" },
|
||||
},
|
||||
);
|
||||
const loadedCustomSnapshot = await loadSessionSnapshot(
|
||||
"browser-session",
|
||||
{ filename: "browser-custom-snapshot.json" },
|
||||
);
|
||||
assertEqual(
|
||||
loadedCustomSnapshot.metadata.source,
|
||||
customSnapshot.metadata.source,
|
||||
"custom snapshot metadata",
|
||||
);
|
||||
await assertRejects(
|
||||
"browser snapshot invalid filename save",
|
||||
() => saveSessionSnapshot("browser-session", {}, {
|
||||
filename: "nested/snapshot.json",
|
||||
}),
|
||||
/Invalid session snapshot filename/,
|
||||
);
|
||||
await assertRejects(
|
||||
"browser snapshot invalid filename load",
|
||||
() => loadSessionSnapshot("browser-session", {
|
||||
filename: "../snapshot.json",
|
||||
}),
|
||||
/Invalid session snapshot filename/,
|
||||
);
|
||||
await saveTextFile(
|
||||
sessionSnapshotPath("browser-bad-format"),
|
||||
JSON.stringify({
|
||||
|
||||
Reference in New Issue
Block a user