penpot/frontend/playwright/ui/pages/WasmWorkspacePage.js

31 lines
846 B
JavaScript

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;
});
}
}