Guard browser OPFS direct tool-table values

This commit is contained in:
2026-06-14 06:39:37 +08:00
parent 66fd3c6239
commit 037303245b
2 changed files with 76 additions and 24 deletions

View File

@@ -4608,12 +4608,13 @@
];
}
function opfsToolTableTextLines(toolNo, pocketNo, zOffset, diameter, comment) {
function opfsToolTableTextLines(toolNo, pocketNo, zOffset, diameter, comment, extraLines = []) {
return [
`T${toolNo}`,
`P${pocketNo}`,
`Z${zOffset}`,
`D${diameter}`,
...extraLines,
comment,
];
}
@@ -9351,21 +9352,26 @@
loadedSession.parameters,
opfsParameterResultLines("restore", ...browserInterpInitialParameterValues),
);
const browserInterpToolTableValues = ["2", "7", "3.125", "1.5", "browser finish tool"];
const browserInterpToolTableReadbackValues = [
"2",
"7",
"+3.125000",
"+1.500000",
";browser finish tool",
];
verifyOpfsLoadResult(
"opfs_load_tool_table",
loadedSession.toolTable,
[
"tooldata_load=0",
"tool_1.toolno=2",
"tool_1.pocketno=7",
"tool_1.z=3.125",
"tool_1.diameter=1.5",
opfsToolTableResultLines("load", browserInterpToolTableValues[0], browserInterpToolTableValues[1], [
`tool_1.z=${browserInterpToolTableValues[2]}`,
`tool_1.diameter=${browserInterpToolTableValues[3]}`,
"tool_1.frontangle=12",
"tool_1.backangle=34",
"tool_1.orientation=4",
"tool_1.comment=browser finish tool",
`tool_1.comment=${browserInterpToolTableValues[4]}`,
"tool_index_for_tool_2=1",
],
]),
);
const browserInterpParameterValues = [12.34, 56.78, 9.87, 66.6];
const browserInterpParameterExpectedValues = ["12.34", "56.78", "9.87", "66.6"];
@@ -9420,26 +9426,16 @@
verifyOpfsSaveResult(
"opfs_save_tool_table",
savedToolTable,
[
"tooldata_save=0",
"tool_1.toolno=2",
"tool_1.pocketno=7",
],
opfsToolTableResultLines("save", browserInterpToolTableValues[0], browserInterpToolTableValues[1]),
);
await verifyOpfsMachineFileReadback(
"opfs_saved_tool_table_text",
browserInterpMachineId,
"toolTable",
[
"T2",
"P7",
"Z+3.125000",
"D+1.500000",
"I+12.000000",
"J+34.000000",
"Q4",
";browser finish tool",
],
opfsToolTableTextLines(
...browserInterpToolTableReadbackValues,
["I+12.000000", "J+34.000000", "Q4"],
),
);
const browserRandomMachineId = "browser-random-toolchanger";