30 lines
1.2 KiB
JavaScript
30 lines
1.2 KiB
JavaScript
import { expect, test } from "../support/browser/strict-browser-test.js";
|
|
|
|
test("runs menu typeahead, tabs and duplicate toast interactions", async ({
|
|
page,
|
|
}) => {
|
|
await page.goto("/examples/ui");
|
|
|
|
const menuTrigger = page.getByRole("button", { name: "작업 메뉴" });
|
|
await menuTrigger.focus();
|
|
await page.keyboard.press("ArrowDown");
|
|
await page.keyboard.type("toast");
|
|
const toastItem = page.getByRole("menuitem", { name: "Toast 표시" });
|
|
await expect(toastItem).toBeFocused();
|
|
await page.keyboard.press("Enter");
|
|
await expect(page.getByText("예제가 저장되었습니다.")).toBeVisible();
|
|
await expect(menuTrigger).toBeFocused();
|
|
|
|
const tokenTab = page.getByRole("tab", { name: "토큰" });
|
|
await tokenTab.focus();
|
|
await page.keyboard.press("ArrowRight");
|
|
const primitiveTab = page.getByRole("tab", { name: "프리미티브" });
|
|
await expect(primitiveTab).toBeFocused();
|
|
await expect(primitiveTab).toHaveAttribute("aria-selected", "false");
|
|
await page.keyboard.press("Enter");
|
|
await expect(primitiveTab).toHaveAttribute("aria-selected", "true");
|
|
await expect(
|
|
page.getByRole("tabpanel", { name: "프리미티브" }),
|
|
).toContainText("native semantics");
|
|
});
|