Guard browser OPFS random tool-table values

This commit is contained in:
2026-06-14 06:45:40 +08:00
parent 037303245b
commit 8489ba9c09
2 changed files with 108 additions and 28 deletions

View File

@@ -4619,6 +4619,22 @@
];
}
function opfsRandomToolTableResultLines(operation, tools) {
return [
...(operation === "load" ? ["tooldata_random_toolchanger=1"] : []),
`tooldata_${operation}=0`,
...tools.flatMap((tool) => tool.resultLines),
];
}
function opfsRandomToolTableTextLines(tools) {
return tools.flatMap((tool) => [
`T${tool.toolNo}`,
`P${tool.pocketNo}`,
tool.comment,
]);
}
function opfsToolTableSeedText(toolNo, pocketNo, zOffset, diameter, comment) {
return `T${toolNo} P${pocketNo} Z${zOffset} D${diameter} ${comment}\n`;
}
@@ -9440,6 +9456,31 @@
const browserRandomMachineId = "browser-random-toolchanger";
const browserRandomWasmPaths = opfsBrowserSessionWasmPaths("browser-random");
const browserRandomFinishTool = {
toolNo: "2",
pocketNo: "7",
comment: ";browser random finish tool",
resultLines: [
"tool_pocket_7.toolno=2",
"tool_pocket_7.pocketno=7",
"tool_pocket_7.z=3.125",
"tool_pocket_7.diameter=1.5",
"tool_pocket_7.frontangle=12",
"tool_pocket_7.backangle=34",
"tool_pocket_7.orientation=4",
"tool_pocket_7.comment=browser random finish tool",
],
};
const browserRandomRoughTool = {
toolNo: "5",
pocketNo: "9",
comment: ";browser random rough tool",
resultLines: [
"tool_pocket_9.toolno=5",
"tool_pocket_9.pocketno=9",
],
};
const browserRandomTools = [browserRandomFinishTool, browserRandomRoughTool];
const browserRandomTextPaths = await saveMachineTextFiles(browserRandomMachineId, {
ini: [
"[EMC]",
@@ -9477,21 +9518,10 @@
verifyOpfsLoadResult(
"opfs_load_random_tool_table",
loadedRandomSession.toolTable,
[
"tooldata_random_toolchanger=1",
"tooldata_load=0",
"tool_pocket_7.toolno=2",
"tool_pocket_7.pocketno=7",
"tool_pocket_7.z=3.125",
"tool_pocket_7.diameter=1.5",
"tool_pocket_7.frontangle=12",
"tool_pocket_7.backangle=34",
"tool_pocket_7.orientation=4",
"tool_pocket_7.comment=browser random finish tool",
"tool_pocket_9.toolno=5",
"tool_pocket_9.pocketno=9",
"tool_index_for_tool_2=7",
],
opfsRandomToolTableResultLines("load", [
...browserRandomTools,
{ resultLines: ["tool_index_for_tool_2=7"] },
]),
);
const savedRandomToolTable = await saveMachineToolTableToOpfs(
interp,
@@ -9508,24 +9538,16 @@
verifyOpfsSaveResult(
"opfs_save_random_tool_table",
savedRandomToolTable,
[
"tooldata_save=0",
"tool_pocket_7.toolno=2",
"tool_pocket_9.toolno=5",
],
opfsRandomToolTableResultLines("save", [
{ resultLines: ["tool_pocket_7.toolno=2"] },
{ resultLines: ["tool_pocket_9.toolno=5"] },
]),
);
await verifyOpfsMachineFileReadback(
"opfs_saved_random_tool_table_text",
browserRandomMachineId,
"toolTable",
[
"T2",
"P7",
";browser random finish tool",
"T5",
"P9",
";browser random rough tool",
],
opfsRandomToolTableTextLines(browserRandomTools),
);
const iniFileMachineId = "browser-ini-file-session";