/** * The shell, as two layers. * * None of this can be asserted without a browser: it is all rectangles, a * computed colour, and a pseudo-element that exists only while a pointer is * over it. What the suite is protecting is the one claim the design makes — * that there is a single ground and exactly one thing standing on it — because * a fill added to a rail is invisible in a diff and obvious on a screen. */ import { expect, test } from "./room"; import type { Locator, Page } from "@playwright/test"; /** Transparent, as Chromium serialises it. */ const NONE = "rgba(0, 0, 0, 0)"; /** The ground: `Workspace`'s own root, and the only child `App` renders into. */ function ground(page: Page) { return page.locator("#root > div"); } /** * The nav. * * By role rather than by tag: both rails open with a `
` of their own, * and a `
` inside an `