Complete V1 RC deployment capability gates
This commit is contained in:
41
web/tests/e2e/wasm-threading-capability.spec.ts
Normal file
41
web/tests/e2e/wasm-threading-capability.spec.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
|
||||
test("gates only the pthread WASM engine on its three platform requirements", async ({ page }) => {
|
||||
await page.goto("/");
|
||||
const gates = await page.evaluate(async () => {
|
||||
const { gateWasmThreadingCapability } = await import("/src/platform/capabilities.ts");
|
||||
return {
|
||||
ready: gateWasmThreadingCapability({ crossOriginIsolated: true, sharedArrayBuffer: true, worker: true }),
|
||||
noIsolation: gateWasmThreadingCapability({ crossOriginIsolated: false, sharedArrayBuffer: true, worker: true }),
|
||||
noSharedArrayBuffer: gateWasmThreadingCapability({ crossOriginIsolated: true, sharedArrayBuffer: false, worker: true }),
|
||||
noWorker: gateWasmThreadingCapability({ crossOriginIsolated: true, sharedArrayBuffer: true, worker: false }),
|
||||
none: gateWasmThreadingCapability({ crossOriginIsolated: false, sharedArrayBuffer: false, worker: false }),
|
||||
};
|
||||
});
|
||||
|
||||
expect(gates.ready).toEqual({
|
||||
taskId: "M6-02",
|
||||
capability: "WASM_PTHREAD_ENGINE",
|
||||
status: "READY",
|
||||
issues: [],
|
||||
});
|
||||
expect(gates.noIsolation.issues.map(({ code, path }) => ({ code, path }))).toEqual([
|
||||
{ code: "PLATFORM_CAPABILITY_UNAVAILABLE", path: "crossOriginIsolated" },
|
||||
]);
|
||||
expect(gates.noSharedArrayBuffer.issues.map(({ code, path }) => ({ code, path }))).toEqual([
|
||||
{ code: "PLATFORM_CAPABILITY_UNAVAILABLE", path: "sharedArrayBuffer" },
|
||||
]);
|
||||
expect(gates.noWorker.issues.map(({ code, path }) => ({ code, path }))).toEqual([
|
||||
{ code: "PLATFORM_CAPABILITY_UNAVAILABLE", path: "worker" },
|
||||
]);
|
||||
expect(gates.none).toMatchObject({
|
||||
taskId: "M6-02",
|
||||
capability: "WASM_PTHREAD_ENGINE",
|
||||
status: "BLOCKED",
|
||||
});
|
||||
expect(gates.none.issues.map(({ code, path }) => ({ code, path }))).toEqual([
|
||||
{ code: "PLATFORM_CAPABILITY_UNAVAILABLE", path: "crossOriginIsolated" },
|
||||
{ code: "PLATFORM_CAPABILITY_UNAVAILABLE", path: "sharedArrayBuffer" },
|
||||
{ code: "PLATFORM_CAPABILITY_UNAVAILABLE", path: "worker" },
|
||||
]);
|
||||
});
|
||||
Reference in New Issue
Block a user