Regenerate the four whynot-control visual baselines against the T06 token regen, and make the harness render deterministically: - serve.json (cleanUrls:false): serve was 301-redirecting /…/index.html and stripping the trailing slash, shifting the document base so every relative asset 404'd (also broke `pnpm showcase` in a browser). - examples/whynot-control/index.html: token stylesheet pointed at a non-existent root path; repoint to ../../src/styles/colors_and_type.css so the page actually loads the T06 tokens. - examples/vendor/lit.js: vendor a self-contained esbuild lit bundle and point the showcase importmap at it, removing the multi-hop live esm.sh dependency. - tests/visual/ui-kit.spec.mjs: abort the unused Google-Fonts CDN (fonts are system-ui post-IBM-Plex); a hung font request blocked module execution. The showcase "every component" test is marked test.fixme: that page wedges the renderer main thread (a demo composition loops) and has never produced a baseline. Tracked as WHYNOT-WP-0002-T11. Components + vendored lit render fine in isolation; the four control baselines pass deterministically. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
32 lines
825 B
JavaScript
32 lines
825 B
JavaScript
import { defineConfig, devices } from "@playwright/test";
|
|
|
|
export default defineConfig({
|
|
testDir: "./tests/visual",
|
|
fullyParallel: true,
|
|
forbidOnly: !!process.env.CI,
|
|
retries: 0,
|
|
reporter: [["html", { open: "never" }], ["list"]],
|
|
use: {
|
|
baseURL: "http://localhost:4321",
|
|
headless: true,
|
|
viewport: { width: 1280, height: 800 },
|
|
deviceScaleFactor: 2,
|
|
},
|
|
projects: [
|
|
{ name: "chromium", use: { ...devices["Desktop Chrome"] } },
|
|
],
|
|
webServer: {
|
|
// Serve the entire repo root so showcase + UI kit + assets all resolve via relative URLs.
|
|
command: "npx --yes serve -l 4321 .",
|
|
url: "http://localhost:4321",
|
|
reuseExistingServer: !process.env.CI,
|
|
stdout: "ignore",
|
|
stderr: "pipe",
|
|
},
|
|
expect: {
|
|
toHaveScreenshot: {
|
|
maxDiffPixelRatio: 0.005,
|
|
},
|
|
},
|
|
});
|