推进 INI 面板 shell handoff workflow overview surface

This commit is contained in:
2026-06-15 15:09:57 +08:00
parent 6b6629ce73
commit b61e7e980d
13 changed files with 376 additions and 12 deletions

View File

@@ -36,9 +36,9 @@
try {
const visibleEntries = getVisibleIniPanelEntries();
assertEqual(visibleEntries.length, 2, "launch visible entry length");
assertEqual(visibleEntries.length, 3, "launch visible entry length");
const launcherLinks = createIniPanelLauncherLinkViewModel();
assertEqual(launcherLinks.length, 2, "launcher link model length");
assertEqual(launcherLinks.length, 3, "launcher link model length");
assertEqual(launcherLinks[0].entryId, "edit-run", "launcher link entry id");
assertEqual(launcherLinks[0].label, "Open edit and run panel", "launcher link label");
assertEqual(launcherLinks[0].href, "./index.html", "launcher link href");
@@ -48,6 +48,11 @@
"Open read-only control view",
"launch manifest control entry",
);
assertEqual(
getIniPanelEntryByHref("./workflow-overview.html").title,
"Open shell handoff overview",
"launch manifest workflow entry",
);
assertEqual(
createIniPanelShellViewModel().controlPage.browserApiMethods.join(","),
createControlPageBrowserApiMethods().join(","),
@@ -131,7 +136,7 @@
);
assertEqual(
launchApiManifest.methods.join(","),
"isSupportedLaunchApiManifest,getLaunchApiSchema,getLaunchApiManifest,getShellIntegrationSchema,getShellIntegrationManifest,getShellIntegrationReadiness,getShellSessionHandoffSummarySchema,getShellSessionHandoffSummary,isSupportedShellSessionHandoffSummary,getShellSessionHandoffCompatibilityReport,getShellSessionHandoffDisplayViewModel,getShellSessionHandoffSnapshot,getShellSessionHandoffRenderState,getShellSessionHandoffActionPlan,getShellSessionHandoffChecklist,getShellSessionHandoffPackageSchema,getShellSessionHandoffPackage,getShellSessionHandoffPackageReport,getShellSessionHandoffPackageDisplayViewModel,getShellSessionHandoffPackageRenderState,getShellSessionHandoffPackageMountState,getShellSessionHandoffPackageMountDisplayViewModel,getShellSessionHandoffPackageMountRenderState,renderShellSessionHandoffMountState,isSupportedShellSessionHandoffPackage,getLauncherLinks,getControlPageApiMethods",
createIniPanelLaunchApiManifest().methods.join(","),
"launch API manifest methods",
);
const shellIntegrationSchema = launchApi.getShellIntegrationSchema();
@@ -540,7 +545,7 @@
);
assertEqual(
launchApiManifest.visibleEntries.length,
2,
3,
"launch API manifest visible entry count",
);
assertEqual(
@@ -548,6 +553,11 @@
"./control-page.html",
"launch API manifest control target",
);
assertEqual(
launchApiManifest.targetPages[2].href,
"./workflow-overview.html",
"launch API manifest workflow target",
);
assertEqual(
launchApiManifest.persistenceCapabilities.length,
3,
@@ -573,9 +583,14 @@
"Open read-only control view",
"launch panel control link",
);
assertEqual(
launchDoc.querySelector('a[href="./workflow-overview.html"]').textContent,
"Open shell handoff overview",
"launch panel workflow link",
);
assertEqual(
launchApi.getLauncherLinks().length,
2,
3,
"launch API launcher link count",
);
assertEqual(