import { expect } from "@playwright/test"; import { WorkspacePage } from "./WorkspacePage"; export class WasmWorkspacePage extends WorkspacePage { static async init(page) { await super.init(page); await WorkspacePage.mockConfigFlags(page, [ "enable-feature-render-wasm", "enable-render-wasm-dpr", ]); await page.addInitScript(() => { document.addEventListener("wasm:set-objects-finished", () => { window.wasmSetObjectsFinished = true; }); }); } constructor(page) { super(page); this.canvas = page.getByTestId("canvas-wasm-shapes"); } async waitForFirstRender() { await expect(this.pageName).toHaveText("Page 1"); await this.canvas.waitFor({ state: "visible" }); await this.page.waitForFunction(() => { return window.wasmSetObjectsFinished; }); } }