Rendering · web: the RenderSurface story runs live; an e2e test holds that the slider redraws its field
This commit is contained in:
1 parent
35fb8897a0
commit
bbe45a4bcd
3 files changed
+18
-1
No files matched your search
@@ -181,7 +181,7 @@ Per-component lines live in `tasks/`. Tags there:
|
||||
- [x] T50a Rendering · Plan: chapter 44 in the PRD, `tasks/ch44.md`, these lines
|
||||
- [x] T50b Rendering · Surface: `rendering::RenderSurface`, tested — `tasks/ch44.md`
|
||||
- [x] T50c Rendering · Gallery: a Rendering page, its story, `stories.json`; the gallery runs on Linux
|
||||
- [ ] T50d Rendering · Web: the story runs live on the site from the wasm gallery, checked in a browser
|
||||
- [x] T50d Rendering · Web: the story runs live on the site from the wasm gallery, checked in a browser
|
||||
- [ ] T50e Rendering · Platforms: CI builds and tests the crate on Linux, macOS and Windows, arm64 and x86_64
|
||||
- [ ] T50f Rendering · Docs: a guide with an example `scripts/check.sh` compiles; AGENTS.md
|
||||
- [ ] T50g Rendering · Acceptance: the checklist, item by item
|
||||
|
||||
@@ -90,6 +90,22 @@ test("typing reaches a live field after a press", async ({ page, isMobile }) =>
|
||||
await expect.poll(() => ink(page, text)).toBeGreaterThan(30);
|
||||
});
|
||||
|
||||
test("a render surface draws again when its slider moves", async ({ page, isMobile }) => {
|
||||
test.skip(isMobile, "no hardware keyboard");
|
||||
await page.emulateMedia({ colorScheme: "light" });
|
||||
await live(page, "/components/rendering/rendersurface/");
|
||||
const box = (await page.locator(".live iframe").boundingBox())!;
|
||||
// Inside the field, below the note and above the slider, as the gallery lays them.
|
||||
const field = { x: box.x + 24, y: box.y + 100, width: 720, height: 330 };
|
||||
// Ready can come a frame before the field paints.
|
||||
await expect.poll(() => ink(page, field)).toBeGreaterThan(2000);
|
||||
const before = await ink(page, field);
|
||||
await page.mouse.click(box.x + 2, box.y + 2);
|
||||
await page.keyboard.press("Tab");
|
||||
await page.keyboard.press("End");
|
||||
await expect.poll(() => ink(page, field)).not.toBe(before);
|
||||
});
|
||||
|
||||
test("full screen covers the page and Escape leaves it", async ({ page }) => {
|
||||
await live(page, "/components/buttons/button/");
|
||||
await page.locator(".live").hover();
|
||||
|
||||
@@ -354,3 +354,4 @@
|
||||
| T50a | 1 | PASS | codex gpt-6.1-sol max |
|
||||
| T50b | 1 | PASS | |
|
||||
| T50c | 1 | PASS | the gallery's missing non-macOS post_scroll stub added |
|
||||
| T50d | 1 | PASS | the e2e test failed against a gallery whose surface never redraws |
|
||||
Reference in new issue
Block a user