Guard browser direct parameter object adapters

This commit is contained in:
2026-06-14 07:32:22 +08:00
parent 6ac7cc8953
commit c7e7f075f3
2 changed files with 113 additions and 9 deletions

View File

@@ -4557,6 +4557,16 @@
];
}
function opfsParameterResultLinesForValues(operation, values) {
return opfsParameterResultLines(
operation,
values.parameter5161,
values.parameter5162,
values.parameter5221,
values.parameter5399,
);
}
function opfsParameterTextLines(separator, parameter5161, parameter5162, parameter5221, parameter5399) {
return [
`5161${separator}${parameter5161}`,
@@ -4566,6 +4576,16 @@
];
}
function opfsParameterTextLinesForValues(separator, values) {
return opfsParameterTextLines(
separator,
values.parameter5161,
values.parameter5162,
values.parameter5221,
values.parameter5399,
);
}
function opfsParameterSeedText(parameter5161, parameter5162, parameter5221, parameter5399) {
return [
`5161 ${parameter5161}`,
@@ -4589,6 +4609,15 @@
];
}
function opfsParameterValueSet(parameter5161, parameter5162, parameter5221, parameter5399) {
return {
parameter5161,
parameter5162,
parameter5221,
parameter5399,
};
}
function opfsParameterValues(parameter5161, parameter5162, parameter5221, parameter5399) {
return {
5161: parameter5161,
@@ -4599,6 +4628,15 @@
};
}
function opfsParameterValuesForValueSet(values) {
return opfsParameterValues(
values.parameter5161,
values.parameter5162,
values.parameter5221,
values.parameter5399,
);
}
function opfsToolTableResultLines(operation, toolNo, pocketNo, extraLines = []) {
return [
`tooldata_${operation}=0`,
@@ -9421,7 +9459,7 @@
const browserInterpMachineId = "browser-interp";
const browserInterpWasmPaths = opfsBrowserSessionWasmPaths("browser");
const browserInterpInitialParameterValues = ["10.5", "20.25", "2.25", "44"];
const browserInterpInitialParameterValues = opfsParameterValueSet("10.5", "20.25", "2.25", "44");
const browserInterpTextPaths = await saveMachineTextFiles(browserInterpMachineId, {
ini: `[EMC]\nMACHINE = ${browserInterpMachineId}\n`,
toolTable: "T2 P7 Z3.125 D1.5 I12 J34 Q4 ;browser finish tool\n",
@@ -9448,7 +9486,7 @@
verifyOpfsLoadResult(
"opfs_restore_parameters",
loadedSession.parameters,
opfsParameterResultLines("restore", ...browserInterpInitialParameterValues),
opfsParameterResultLinesForValues("restore", browserInterpInitialParameterValues),
);
const browserInterpToolTable = opfsToolTableToolValues(
"2",
@@ -9473,13 +9511,18 @@
"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"];
const browserInterpParameterReadbackValues = ["12.340000", "56.780000", "9.870000", "66.600000"];
const browserInterpParameterValues = opfsParameterValueSet(12.34, 56.78, 9.87, 66.6);
const browserInterpParameterExpectedValues = opfsParameterValueSet("12.34", "56.78", "9.87", "66.6");
const browserInterpParameterReadbackValues = opfsParameterValueSet(
"12.340000",
"56.780000",
"9.870000",
"66.600000",
);
const savedParameters = await saveMachineParametersToOpfs(
interp,
browserInterpMachineId,
opfsParameterValues(...browserInterpParameterValues),
opfsParameterValuesForValueSet(browserInterpParameterValues),
{ wasmPath: browserInterpWasmPaths.parameters },
);
assertOpfsSavedParameterStaging(
@@ -9492,14 +9535,14 @@
verifyOpfsSaveResult(
"opfs_save_parameters",
savedParameters,
opfsParameterResultLines("save", ...browserInterpParameterExpectedValues),
opfsParameterResultLinesForValues("save", browserInterpParameterExpectedValues),
);
await verifyOpfsMachineFileReadback(
"opfs_saved_parameter_text",
browserInterpMachineId,
"parameters",
[
...opfsParameterTextLines("\t", ...browserInterpParameterReadbackValues),
...opfsParameterTextLinesForValues("\t", browserInterpParameterReadbackValues),
"absent=<_named_param>",
],
);
@@ -9507,7 +9550,7 @@
"opfs_saved_parameter_backup_text",
savedParameters.backupOpfsPath,
[
...opfsParameterTextLines(" ", ...browserInterpInitialParameterValues),
...opfsParameterTextLinesForValues(" ", browserInterpInitialParameterValues),
"<_named_param> 123",
],
);