Advance M8-M11 parity workflows
This commit is contained in:
23
web/tests/e2e/curve-topology-contract.spec.ts
Normal file
23
web/tests/e2e/curve-topology-contract.spec.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
|
||||
test("M9-04 freezes Curve topology operators and budgets before Main or UI exposure", async ({ page }) => {
|
||||
await page.goto("/");
|
||||
const result = await page.evaluate(() => new Promise<any>((resolve, reject) => {
|
||||
const worker = new Worker("/src/workers/curve-topology-contract-test.worker.ts", { type: "module" });
|
||||
worker.onmessage = (event) => { worker.terminate(); resolve(event.data); };
|
||||
worker.onerror = (event) => { worker.terminate(); reject(new Error(event.message)); };
|
||||
worker.postMessage(null);
|
||||
}));
|
||||
expect(result).toMatchObject({
|
||||
operatorCount: 14,
|
||||
blockedCount: 13,
|
||||
readyOperators: ["TOGGLE_CYCLIC"],
|
||||
sourceAuthority: "blender-5.2.0/source/blender/editors/curve/curve_ops.cc",
|
||||
atomicMainTransaction: true,
|
||||
unknownCode: "NON_MESH_TOPOLOGY_EDIT_UNSUPPORTED",
|
||||
staleCode: "REVISION_CONFLICT",
|
||||
budgetCode: "NON_MESH_DATA_BUDGET_EXCEEDED",
|
||||
stage: "ONE_VERIFIED_OPERATOR",
|
||||
});
|
||||
expect(result.accepted).toMatchObject({ operator: "ADD_SPLINE", outputSplineCount: 2, outputPointCount: 4 });
|
||||
});
|
||||
Reference in New Issue
Block a user