推进 INI 面板浏览器 readonly status 快照

This commit is contained in:
2026-06-15 06:08:47 +08:00
parent 37b79c1d1a
commit b5d36cf2a4
5 changed files with 103 additions and 0 deletions

View File

@@ -66,6 +66,7 @@ TOOL_TABLE = browser-tool.tbl
!controlPageApi?.getControlPageContract ||
!controlPageApi?.getPanelApi ||
!controlPageApi?.loadControlPageSessionState ||
!controlPageApi?.readControlPageStatus ||
!controlPageApi?.refreshControlPage ||
!controlPageApi?.renderControlPage
) {
@@ -122,6 +123,11 @@ TOOL_TABLE = browser-tool.tbl
"ready",
"control page session load phase",
);
assertEqual(
controlPageApi.readControlPageStatus().status.lastAction,
null,
"control page initial readonly status last action",
);
panelDoc.getElementById("ini-editor").value = iniText;
panelDoc.getElementById("query").click();
@@ -141,6 +147,27 @@ TOOL_TABLE = browser-tool.tbl
() => panelDoc.getElementById("log")?.textContent.includes("Loaded machine session"),
"control page load session",
);
const loadedStatus = controlPageApi.readControlPageStatus();
assertEqual(
loadedStatus.stateBundle.report.readiness.parameterFile,
"browser-linuxcnc.var",
"control page readonly status state bundle parameter file",
);
assertEqual(
loadedStatus.workflowStatus.lastAction,
"load-session",
"control page readonly status workflow last action after load",
);
assertEqual(
loadedStatus.controlView.status.lastAction,
"load-session",
"control page readonly status control view after load",
);
assertEqual(
loadedStatus.session.parameterFile,
"browser-linuxcnc.var",
"control page readonly status session parameter file",
);
panelDoc.getElementById("save-session-snapshot").click();
await waitFor(
@@ -159,8 +186,13 @@ TOOL_TABLE = browser-tool.tbl
);
const controlView = controlPageApi.getControlView();
const runStatus = controlPageApi.readControlPageStatus();
assertEqual(controlView.status.lastAction, "run-gcode", "control page last action");
assertEqual(controlView.status.runStatus, "ok", "control page run status");
assertEqual(runStatus.status.lastAction, "run-gcode", "control page readonly status last action");
assertEqual(runStatus.status.runStatus, "ok", "control page readonly status run status");
assertEqual(runStatus.workflowStatus.lastAction, "run-gcode", "control page readonly workflow last action");
assertEqual(runStatus.controlView.status.runStatus, "ok", "control page readonly control view run status");
assertEqual(controlView.sections.length, 3, "control page section count");
assertEqual(
controlView.sections[1].rows[1].value,