phase 16 implementation

This commit is contained in:
root
2026-06-25 20:08:39 -04:00
parent 5d017f533a
commit c43620a005
248 changed files with 18458 additions and 90 deletions
+2 -1
View File
@@ -6,8 +6,9 @@ for (const scenario of [
{ locale: 'ar', theme: 'dark', width: 390, height: 1200 },
] as const) {
test(`${scenario.locale}-${scenario.theme} component matrix`, async ({ page }) => {
test.skip(test.info().project.name !== 'chromium', 'Canonical visual baselines use Chromium.');
await page.addInitScript(
(theme) => localStorage.setItem('rdg-theme-preference', theme),
(theme) => localStorage.setItem('hpc.theme.preference', theme),
scenario.theme,
);
await page.setViewportSize({ width: scenario.width, height: scenario.height });
+24
View File
@@ -0,0 +1,24 @@
import { expect, test } from '@playwright/test';
for (const scenario of [
{ locale: 'en', theme: 'light' },
{ locale: 'en', theme: 'dark' },
{ locale: 'fr', theme: 'light' },
{ locale: 'ar', theme: 'light' },
{ locale: 'ar', theme: 'dark' },
] as const) {
test(`${scenario.locale} ${scenario.theme} demo initial and validation states`, async ({
page,
}) => {
test.skip(test.info().project.name !== 'chromium', 'Canonical visual baselines use Chromium.');
await page.emulateMedia({ colorScheme: scenario.theme });
await page.goto(`/${scenario.locale}`);
await page.locator('main button[data-demo-source="hero"]').click();
const dialog = page.getByRole('dialog');
await expect(dialog).toHaveScreenshot(`demo-${scenario.locale}-${scenario.theme}-initial.png`);
await dialog.locator('button[type="submit"]').click();
await expect(dialog).toHaveScreenshot(
`demo-${scenario.locale}-${scenario.theme}-validation.png`,
);
});
}