Download packages/app/e2e/regression/session-timeline-accessibility.spec.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 1.1 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/app/e2e/regression/session-timeline-accessibility.spec.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/app/e2e/regression/session-timeline-accessibility.spec.ts
-
curl -L -o session-timeline-accessibility.spec.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/app/e2e/regression/session-timeline-accessibility.spec.ts
1.1 kB
| import { expect, test } from "@playwright/test" | |
| import { assistantMessage, setupTimeline, shell, userMessage } from "../performance/timeline-stability/fixture" | |
| test("space activates a focused timeline button instead of scrolling", async ({ page }) => { | |
| const shellID = "prt_space_button_shell" | |
| await setupTimeline(page, { | |
| messages: [userMessage(), assistantMessage([shell(shellID, "completed", lines(5))])], | |
| settings: { shellToolPartsExpanded: false }, | |
| reducedMotion: true, | |
| }) | |
| const scroller = page.locator(".scroll-view__viewport", { has: page.locator("[data-timeline-row]") }) | |
| const trigger = page.locator(`[data-timeline-part-id="${shellID}"] [data-slot="collapsible-trigger"]`) | |
| await trigger.focus() | |
| const before = await scroller.evaluate((element) => element.scrollTop) | |
| await trigger.press("Space") | |
| await expect(trigger).toHaveAttribute("aria-expanded", "true") | |
| expect(await scroller.evaluate((element) => element.scrollTop)).toBe(before) | |
| }) | |
| function lines(count: number) { | |
| return Array.from({ length: count }, (_, index) => `line ${index + 1}`).join("\n") | |
| } | |