推进 INI 面板 shell handoff package render-state

This commit is contained in:
2026-06-15 11:07:09 +08:00
parent bb8ac55905
commit 1d06fd4cd4
10 changed files with 284 additions and 7 deletions

View File

@@ -86,6 +86,7 @@
!launchApi?.getShellSessionHandoffPackage ||
!launchApi?.getShellSessionHandoffPackageReport ||
!launchApi?.getShellSessionHandoffPackageDisplayViewModel ||
!launchApi?.getShellSessionHandoffPackageRenderState ||
!launchApi?.isSupportedShellSessionHandoffPackage ||
!launchApi?.getLauncherLinks ||
!launchApi?.getControlPageApiMethods
@@ -126,7 +127,7 @@
);
assertEqual(
launchApiManifest.methods.join(","),
"isSupportedLaunchApiManifest,getLaunchApiSchema,getLaunchApiManifest,getShellIntegrationSchema,getShellIntegrationManifest,getShellIntegrationReadiness,getShellSessionHandoffSummarySchema,getShellSessionHandoffSummary,isSupportedShellSessionHandoffSummary,getShellSessionHandoffCompatibilityReport,getShellSessionHandoffDisplayViewModel,getShellSessionHandoffSnapshot,getShellSessionHandoffRenderState,getShellSessionHandoffActionPlan,getShellSessionHandoffChecklist,getShellSessionHandoffPackageSchema,getShellSessionHandoffPackage,getShellSessionHandoffPackageReport,getShellSessionHandoffPackageDisplayViewModel,isSupportedShellSessionHandoffPackage,getLauncherLinks,getControlPageApiMethods",
"isSupportedLaunchApiManifest,getLaunchApiSchema,getLaunchApiManifest,getShellIntegrationSchema,getShellIntegrationManifest,getShellIntegrationReadiness,getShellSessionHandoffSummarySchema,getShellSessionHandoffSummary,isSupportedShellSessionHandoffSummary,getShellSessionHandoffCompatibilityReport,getShellSessionHandoffDisplayViewModel,getShellSessionHandoffSnapshot,getShellSessionHandoffRenderState,getShellSessionHandoffActionPlan,getShellSessionHandoffChecklist,getShellSessionHandoffPackageSchema,getShellSessionHandoffPackage,getShellSessionHandoffPackageReport,getShellSessionHandoffPackageDisplayViewModel,getShellSessionHandoffPackageRenderState,isSupportedShellSessionHandoffPackage,getLauncherLinks,getControlPageApiMethods",
"launch API manifest methods",
);
const shellIntegrationSchema = launchApi.getShellIntegrationSchema();
@@ -144,6 +145,7 @@
const shellSessionHandoffPackage = launchApi.getShellSessionHandoffPackage();
const shellSessionHandoffPackageReport = launchApi.getShellSessionHandoffPackageReport();
const shellSessionHandoffPackageDisplayViewModel = launchApi.getShellSessionHandoffPackageDisplayViewModel();
const shellSessionHandoffPackageRenderState = launchApi.getShellSessionHandoffPackageRenderState();
assertEqual(
shellIntegrationSchema.manifestVersion,
1,
@@ -339,6 +341,21 @@
shellSessionHandoffPackageReport.rows.length,
"shell session handoff package display rows",
);
assertEqual(
shellSessionHandoffPackageRenderState.renderStateVersion,
1,
"shell session handoff package render-state version",
);
assertEqual(
shellSessionHandoffPackageRenderState.ready,
true,
"shell session handoff package render-state readiness",
);
assertEqual(
shellSessionHandoffPackageRenderState.rows.length,
shellSessionHandoffPackageDisplayViewModel.rows.length,
"shell session handoff package render-state rows",
);
assertEqual(
shellSessionHandoffPackage.ready,
true,
@@ -405,9 +422,24 @@
"shell session handoff DOM ready",
);
assertEqual(
launchDoc.querySelector('[data-handoff-value="missing-fields"]').textContent,
launchDoc.querySelector("[data-handoff-shell]").dataset.handoffScope,
"package",
"shell session handoff DOM scope",
);
assertEqual(
launchDoc.querySelector('[data-handoff-value="package-supported"]').textContent,
"supported",
"shell session handoff DOM package support",
);
assertEqual(
launchDoc.querySelector('[data-handoff-value="package-ready"]').textContent,
"ready",
"shell session handoff DOM package readiness",
);
assertEqual(
launchDoc.querySelector('[data-handoff-value="missing-package-fields"]').textContent,
"none",
"shell session handoff DOM missing fields",
"shell session handoff DOM missing package fields",
);
assertEqual(
launchDoc.querySelector('[data-handoff-value="blocking-reasons"]').textContent,