mirror of
https://github.com/gradio-app/gradio.git
synced 2024-12-27 02:30:17 +08:00
35 lines
1020 B
TypeScript
35 lines
1020 B
TypeScript
import { test, expect } from "@gradio/tootils";
|
|
import { readFileSync } from "fs";
|
|
|
|
test("when a user closes the page, the unload event should be triggered", async ({
|
|
page
|
|
}) => {
|
|
const increment = await page.locator("button", {
|
|
hasText: /Increment/
|
|
});
|
|
|
|
// if you click too fast, the page may close before the event is processed
|
|
await increment.click();
|
|
await page.waitForTimeout(100);
|
|
await increment.click();
|
|
await page.waitForTimeout(100);
|
|
await increment.click();
|
|
await page.waitForTimeout(100);
|
|
await increment.click();
|
|
await expect(page.getByLabel("Number")).toHaveValue("4");
|
|
await page.close();
|
|
|
|
await new Promise((resolve) => setTimeout(resolve, 5000));
|
|
|
|
const data = readFileSync(
|
|
"../../demo/unload_event_test/output_log.txt",
|
|
"utf-8"
|
|
);
|
|
expect(data).toContain("incremented 0");
|
|
expect(data).toContain("incremented 1");
|
|
expect(data).toContain("incremented 2");
|
|
expect(data).toContain("incremented 3");
|
|
expect(data).toContain("unloading");
|
|
expect(data).toContain("deleted 4");
|
|
});
|