import { expect, openFromTree, test } from "./fixtures"; test("opens a file from the project tree and types into it", async ({ workbench: page }) => { const editor = await openFromTree(page, "build.gradle.kts"); await editor.locator(".cm-content").click(); await page.keyboard.press("Meta+ArrowDown"); await page.keyboard.press("Enter"); await page.keyboard.type("// typed by e2e"); await expect(editor.locator(".cm-content")).toContainText("// typed by e2e"); // Undo removes the typing again. await page.keyboard.press("Meta+z"); await expect(editor.locator(".cm-content")).not.toContainText("// typed by e2e"); }); test("⌘F opens the find bar and highlights matches; Escape returns to the editor", async ({ workbench: page }) => { const editor = await openFromTree(page, "build.gradle.kts"); await editor.locator(".cm-content").click(); await page.keyboard.press("Meta+f"); const find = page.getByRole("textbox", { name: "Find" }); await expect(find).toBeFocused(); await find.fill("Order"); await expect(editor.locator(".cm-openidea-findMatch").first()).toBeVisible(); await page.keyboard.press("Escape"); await expect(find).toBeHidden(); await expect(editor.locator(".cm-content")).toBeFocused(); }); test("opening several files creates tabs and ⌘W closes the active one", async ({ workbench: page }) => { await openFromTree(page, "build.gradle.kts"); await openFromTree(page, "settings.gradle.kts"); const tabs = page.getByRole("tablist", { name: "Editor tabs" }).getByRole("tab"); await expect(tabs).toHaveCount(2); await page.locator(".cm-editor .cm-content").first().click(); await page.keyboard.press("Meta+w"); await expect(tabs).toHaveCount(1); await expect(tabs.first()).toHaveText(/build\.gradle\.kts/); });