From 4179b5b0fbf6dd05f579c1e4060cfed65d779c12 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 12 Nov 2026 06:47:45 +0000 Subject: [PATCH 1/2] test(e2e): required edge-focus sidebar nudge hints Move the edge-focus sidebar hint spec into default E2E (no @artifact) and assert Tab and Shift+Arrow guidance in the sidebar status bar. Co-authored-by: Tyler Dane --- .../edge-focus-sidebar-hint-0084.spec.ts | 36 ------------------- e2e/timed/edge-focus-sidebar-hint.spec.ts | 36 +++++++++++++++++++ 2 files changed, 36 insertions(+), 36 deletions(-) delete mode 100644 e2e/timed/edge-focus-sidebar-hint-0084.spec.ts create mode 100644 e2e/timed/edge-focus-sidebar-hint.spec.ts diff --git a/e2e/timed/edge-focus-sidebar-hint-0084.spec.ts b/e2e/timed/edge-focus-sidebar-hint-0084.spec.ts deleted file mode 100644 index b189a4afbb..0000000000 --- a/e2e/timed/edge-focus-sidebar-hint-0084.spec.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { expect, test } from "@playwright/test"; -import { - createEventTitle, - fillTitleAndSaveEventForm, - openTimedEventFormWithKeyboard, - prepareTimedCalendarPage, -} from "../utils/event-test-utils"; -import path from "node:path"; - -const ARTIFACT_DIR = "/opt/cursor/artifacts"; - -test("@artifact edge focus sidebar teaches nudge keys", async ({ page }) => { - await prepareTimedCalendarPage(page); - const title = createEventTitle("Edge Hint"); - await openTimedEventFormWithKeyboard(page); - await fillTitleAndSaveEventForm(page, title); - - const eventButton = page - .locator("#mainGrid") - .getByRole("button", { name: title }); - await eventButton.focus(); - await page.keyboard.press("Tab"); - - const status = page.locator("[data-edge-focus-indicator]"); - await expect(status).toContainText(/adjusts start/i); - await expect(status).toContainText(/Tab/i); - await expect(status).not.toHaveText(/^Editing start time$/); - - await page.screenshot({ - path: path.join(ARTIFACT_DIR, "edge-focus-start-time-sidebar-hint.png"), - }); - - await page.keyboard.press("Shift+ArrowUp"); - await expect(status).toContainText(/Start /); - await expect(status).toContainText(/adjusts start/i); -}); diff --git a/e2e/timed/edge-focus-sidebar-hint.spec.ts b/e2e/timed/edge-focus-sidebar-hint.spec.ts new file mode 100644 index 0000000000..ab4349d441 --- /dev/null +++ b/e2e/timed/edge-focus-sidebar-hint.spec.ts @@ -0,0 +1,36 @@ +import { expect, test } from "@playwright/test"; +import { + createEventTitle, + ensureSidebarOpen, + fillTitleAndSaveEventForm, + openTimedEventFormWithKeyboard, + prepareTimedCalendarPage, +} from "../utils/event-test-utils"; + +test("edge focus sidebar teaches Tab and Shift+Arrow nudge keys", async ({ + page, +}) => { + await prepareTimedCalendarPage(page); + await ensureSidebarOpen(page); + const title = createEventTitle("Edge Hint"); + await openTimedEventFormWithKeyboard(page); + await fillTitleAndSaveEventForm(page, title); + + const eventButton = page + .locator("#mainGrid") + .getByRole("button", { name: title }); + await eventButton.focus(); + await page.keyboard.press("Tab"); + + const sidebarStatus = page.locator("#sidebar").getByRole("status"); + await expect(sidebarStatus).toBeVisible(); + await expect(sidebarStatus).toContainText(/adjusts start/i); + await expect(sidebarStatus).toContainText("Tab"); + await expect(sidebarStatus).not.toHaveText(/^Editing start time$/); + + await page.keyboard.press("Shift+ArrowUp"); + await expect(sidebarStatus).toContainText(/Start /); + await expect(sidebarStatus).toContainText(/adjusts start/i); + await expect(sidebarStatus).toContainText(/Shift/); + await expect(sidebarStatus).toContainText(/Arrow/i); +}); From 2ffa64f6d9a5c56816908ad4f5d506e4e71003e3 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 12 Nov 2026 06:57:02 +0000 Subject: [PATCH 2/2] test(e2e): target edge-focus status indicator in sidebar Avoid strict-mode clash with the separate sidebar sync status line. Co-authored-by: Tyler Dane --- e2e/timed/edge-focus-sidebar-hint.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/timed/edge-focus-sidebar-hint.spec.ts b/e2e/timed/edge-focus-sidebar-hint.spec.ts index ab4349d441..7af264006c 100644 --- a/e2e/timed/edge-focus-sidebar-hint.spec.ts +++ b/e2e/timed/edge-focus-sidebar-hint.spec.ts @@ -22,7 +22,7 @@ test("edge focus sidebar teaches Tab and Shift+Arrow nudge keys", async ({ await eventButton.focus(); await page.keyboard.press("Tab"); - const sidebarStatus = page.locator("#sidebar").getByRole("status"); + const sidebarStatus = page.locator("#sidebar [data-edge-focus-indicator]"); await expect(sidebarStatus).toBeVisible(); await expect(sidebarStatus).toContainText(/adjusts start/i); await expect(sidebarStatus).toContainText("Tab");