推进 INI 面板 launch manifest compatibility predicate

This commit is contained in:
2026-06-15 07:05:53 +08:00
parent 6b5999930a
commit 01d168e247
8 changed files with 121 additions and 1 deletions

View File

@@ -66,6 +66,7 @@
const launchDoc = await loadLaunchFrame();
const launchApi = launchDoc.defaultView.linuxCncIniPanelLaunchApi;
if (
!launchApi?.isSupportedLaunchApiManifest ||
!launchApi?.getLaunchApiSchema ||
!launchApi?.getLaunchApiManifest ||
!launchApi?.getLauncherLinks ||
@@ -85,6 +86,16 @@
"launch API schema persistence field",
);
const launchApiManifest = launchApi.getLaunchApiManifest();
assertEqual(
launchApi.isSupportedLaunchApiManifest(launchApiManifest),
true,
"launch API supports manifest",
);
assertEqual(
launchApi.isSupportedLaunchApiManifest({ ...launchApiManifest, manifestVersion: 2 }),
false,
"launch API rejects unsupported manifest version",
);
assertEqual(
launchApiManifest.apiName,
"ini-panel-launch",
@@ -97,7 +108,7 @@
);
assertEqual(
launchApiManifest.methods.join(","),
"getLaunchApiSchema,getLaunchApiManifest,getLauncherLinks,getControlPageApiMethods",
"isSupportedLaunchApiManifest,getLaunchApiSchema,getLaunchApiManifest,getLauncherLinks,getControlPageApiMethods",
"launch API manifest methods",
);
assertEqual(