推进 INI 面板 entry manifest
This commit is contained in:
@@ -7,6 +7,11 @@
|
||||
<body>
|
||||
<pre id="status">running</pre>
|
||||
<script type="module">
|
||||
import {
|
||||
getIniPanelEntryByHref,
|
||||
getIniPanelEntryManifest,
|
||||
} from "../../runtime/ui/ini-panel/entry-manifest.js";
|
||||
|
||||
function assertEqual(actual, expected, label) {
|
||||
if (actual !== expected) {
|
||||
throw new Error(`${label}: expected ${expected}, got ${actual}`);
|
||||
@@ -25,6 +30,15 @@
|
||||
}
|
||||
|
||||
try {
|
||||
const manifest = getIniPanelEntryManifest();
|
||||
assertEqual(manifest.length, 2, "launch manifest length");
|
||||
assertEqual(getIniPanelEntryByHref("./index.html").id, "edit-run", "launch manifest edit entry");
|
||||
assertEqual(
|
||||
getIniPanelEntryByHref("./control-page.html").title,
|
||||
"Open read-only control view",
|
||||
"launch manifest control entry",
|
||||
);
|
||||
|
||||
const launchDoc = await loadLaunchFrame();
|
||||
assertEqual(
|
||||
launchDoc.querySelector('a[href="./index.html"]').textContent,
|
||||
|
||||
34
wasm-port/tests/ui/node/verify_ini_panel_entry_manifest.mjs
Normal file
34
wasm-port/tests/ui/node/verify_ini_panel_entry_manifest.mjs
Normal 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");
|
||||
6
wasm-port/tests/ui/node/verify_ini_panel_entry_manifest.sh
Executable file
6
wasm-port/tests/ui/node/verify_ini_panel_entry_manifest.sh
Executable 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"
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user