推进 INI 面板 entry manifest

This commit is contained in:
2026-06-14 23:16:52 +08:00
parent c18aa21d70
commit 77d32a3f17
8 changed files with 154 additions and 2 deletions

View File

@@ -0,0 +1,34 @@
import assert from "node:assert/strict";
import {
INI_PANEL_ENTRIES,
getIniPanelEntryByHref,
getIniPanelEntryManifest,
} from "../../../runtime/ui/ini-panel/entry-manifest.js";
assert.deepEqual(INI_PANEL_ENTRIES, [
{
id: "edit-run",
title: "Open edit and run panel",
href: "./index.html",
},
{
id: "control-view",
title: "Open read-only control view",
href: "./control-page.html",
},
]);
const manifest = getIniPanelEntryManifest();
assert.deepEqual(manifest, INI_PANEL_ENTRIES);
assert.notStrictEqual(manifest, INI_PANEL_ENTRIES);
assert.notStrictEqual(manifest[0], INI_PANEL_ENTRIES[0]);
assert.deepEqual(getIniPanelEntryByHref("./index.html"), INI_PANEL_ENTRIES[0]);
assert.deepEqual(getIniPanelEntryByHref("./control-page.html"), INI_PANEL_ENTRIES[1]);
assert.equal(getIniPanelEntryByHref("./missing.html"), null);
manifest[0].title = "changed";
assert.equal(INI_PANEL_ENTRIES[0].title, "Open edit and run panel");
console.log("ini_panel_entry_manifest_node_smoke=ok");

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "$0")/../../.." && pwd)"
node "$ROOT_DIR/tests/ui/node/verify_ini_panel_entry_manifest.mjs"

View File

@@ -10,5 +10,6 @@ ROOT_DIR="$(cd "$(dirname "$0")/../../.." && pwd)"
"$ROOT_DIR/tests/ui/node/verify_ini_panel_machine_file_summary.sh"
"$ROOT_DIR/tests/ui/node/verify_ini_panel_state_summary.sh"
"$ROOT_DIR/tests/ui/node/verify_ini_panel_control_page_controller.sh"
"$ROOT_DIR/tests/ui/node/verify_ini_panel_entry_manifest.sh"
echo "ui_node_smokes=ok"