Guard browser OPFS tool-table object adapters

This commit is contained in:
2026-06-14 07:15:00 +08:00
parent 45d34c8586
commit 58215c24cc
2 changed files with 79 additions and 36 deletions

View File

@@ -4619,6 +4619,17 @@
];
}
function opfsToolTableTextLinesForTool(tool, extraLines = []) {
return opfsToolTableTextLines(
tool.toolNo,
tool.pocketNo,
tool.readbackZOffset,
tool.readbackDiameter,
tool.comment,
extraLines,
);
}
function opfsToolTableToolValues(
toolNo,
pocketNo,
@@ -4682,6 +4693,16 @@
return `T${toolNo} P${pocketNo} Z${zOffset} D${diameter} ${comment}\n`;
}
function opfsToolTableSeedTextForTool(tool) {
return opfsToolTableSeedText(
tool.toolNo,
tool.pocketNo,
tool.zOffset,
tool.diameter,
tool.comment,
);
}
function opfsCustomSessionIniText(machineId, parameterFilename, toolTableFilename) {
return [
"[EMC]",
@@ -9507,14 +9528,7 @@
"opfs_saved_tool_table_text",
browserInterpMachineId,
"toolTable",
opfsToolTableTextLines(
browserInterpToolTable.toolNo,
browserInterpToolTable.pocketNo,
browserInterpToolTable.readbackZOffset,
browserInterpToolTable.readbackDiameter,
browserInterpToolTable.comment,
["I+12.000000", "J+34.000000", "Q4"],
),
opfsToolTableTextLinesForTool(browserInterpToolTable, ["I+12.000000", "J+34.000000", "Q4"]),
);
const browserRandomMachineId = "browser-random-toolchanger";
@@ -9651,13 +9665,7 @@
await writeOpfsMachineFile(
iniFileMachineId,
iniFileToolTableFilename,
opfsToolTableSeedText(
iniNamedToolTable.toolNo,
iniNamedToolTable.pocketNo,
iniNamedToolTable.zOffset,
iniNamedToolTable.diameter,
iniNamedToolTable.comment,
),
opfsToolTableSeedTextForTool(iniNamedToolTable),
);
const loadedIniFileSession = await loadMachineSessionFromOpfs(
interp,
@@ -9747,13 +9755,7 @@
await verifyOpfsReadback(
"opfs_saved_ini_named_tool_table_text",
loadedIniFileSession.toolTable.opfsPath,
opfsToolTableTextLines(
iniNamedToolTable.toolNo,
iniNamedToolTable.pocketNo,
iniNamedToolTable.readbackZOffset,
iniNamedToolTable.readbackDiameter,
iniNamedToolTable.comment,
),
opfsToolTableTextLinesForTool(iniNamedToolTable),
);
const iniOverrideMachineId = "browser-ini-override-session";
@@ -9794,13 +9796,7 @@
await writeOpfsMachineFile(
iniOverrideMachineId,
explicitToolTableFilename,
opfsToolTableSeedText(
explicitToolTable.toolNo,
explicitToolTable.pocketNo,
explicitToolTable.zOffset,
explicitToolTable.diameter,
explicitToolTable.comment,
),
opfsToolTableSeedTextForTool(explicitToolTable),
);
const loadedIniOverrideSession = await loadMachineSessionFromOpfs(
interp,
@@ -9894,13 +9890,7 @@
await verifyOpfsReadback(
"opfs_saved_explicit_tool_table_text",
loadedIniOverrideSession.toolTable.opfsPath,
opfsToolTableTextLines(
explicitToolTable.toolNo,
explicitToolTable.pocketNo,
explicitToolTable.readbackZOffset,
explicitToolTable.readbackDiameter,
explicitToolTable.comment,
),
opfsToolTableTextLinesForTool(explicitToolTable),
);
await verifyOpfsInvalidIniSessionRejects(