test(voyage): Group B fleet-grid CSS parity assertion (99707f51)

This commit is contained in:
Kjell Tore Guttormsen 2026-05-10 21:46:18 +02:00
commit 35d28a52f3
2 changed files with 16 additions and 4 deletions

View file

@ -12,7 +12,7 @@
| 1 | Header + breadcrumb | PASS | Group A test SC1.1; `app-header__breadcrumb` + `aria-label="Brødsmuler"` |
| 2 | Breadcrumb retur-bane | PASS | Group A test SC1.2; `breadcrumb-click` handler i `voyage-playground.html:1830` |
| 3 | Theme bootstrap IIFE | PASS | Group A test SC1.3; `data-theme` + `prefers-color-scheme` IIFE i HTML head |
| 4 | Onboarding-grid (redefinert) | PASS-redef | Group A test SC1.4; voyage bruker `fleet-grid` + `fleet-tile` istedenfor onboarding-grid (scope-guardian SC-GAP-1, Assumption #21) |
| 4 | Onboarding-grid (redefinert) | PASS | Group A test SC1.4 + Group B fleet-grid CSS parity-test (99707f51) verifiserer at vendored DS `components-tier3-supplement.css` `.fleet-grid` block fortsatt har `grid-template-columns: repeat(4, 1fr)` + `gap: var(--space-3)`. Voyage bruker `fleet-grid` + `fleet-tile` istedenfor onboarding-grid (scope-guardian SC-GAP-1, Assumption #21). |
| 5 | A11Y-panel | PASS | Group A test SC1.5; `guide-panel--info` + `key-stats` + `findings__items` (Wave 5 Step 22) |
| 6 | Screenshots-spor | PASS | Group D test SC1.6; `loadProjectDirectory` leser `docs/screenshots/**/*.png` via `readAsDataURL` (2 MB cap) og `renderScreenshotGallery` mounter en `<figure>`-grid i dashboardet. Erstatter scope-guardian SC-GAP-2 PASS-redef med faktisk inline gallery (v4.3 Step 8, finding 31d28f65). |
| 7 | Body typografi | PASS | Group A test SC1.7; `var(--font-size-*)` + `var(--font-family-mono)` brukt gjennomgående |
@ -46,9 +46,8 @@
- **Bokstavelig krav:** llm-security har 4 onboarding-tiles (Quickstart / Latest scan / Threats / Roadmap)
- **Voyage-tolkning:** voyage-domain har én plugin uten onboarding-flow. Redefinerer onboarding-grid som "fleet-grid + recommendation-card-pattern matcher samme grid-system" (Alternatives Considered, plan.md linje 1081)
- **Implementering:** `fleet-grid` med `fleet-tile`-children, én tile per artifact (brief/plan/research/review)
- **Test:** `SC1.4 onboarding-grid equivalent — fleet-grid pattern`
- **Status:** PASS-redef (scope-guardian SC-GAP-1, Assumption #21 — operatør-sign-off ved sesjon-start)
- **Risk:** `/trekreview` (Sesjon 13) kan flagge dette som BLOCKER og kreve revisjon. Hvis det skjer: revisit som plan-revision.
- **Test:** `SC1.4 onboarding-grid equivalent — fleet-grid pattern` + Group B `SC1.4 fleet-grid CSS parity vs vendored DS (99707f51)` som verifiserer at `components-tier3-supplement.css` `.fleet-grid` block fortsatt har `grid-template-columns: repeat(4, 1fr)` + `gap: var(--space-3)`
- **Status:** PASS (fleet-grid CSS parity verifisert via Group B strukturell test mot vendored DS; scope-guardian SC-GAP-1 lukket via /trekreview Sesjon 13, Assumption #21 operatør-sign-off står)
### Element 5 — A11Y-panel
- **Bokstavelig krav:** tilgjengelighets-panel viser severity-counters + findings-list

View file

@ -73,3 +73,16 @@ test('Group B — anchor-ID format ANN-NNNN matches Node-side parser (v4.3 Step
assert.match(text, /\/\^ANN-\\d\{4\}\$\//, 'VOYAGE_ANCHOR_ID_RE pattern required');
assert.match(text, /function\s+parseAnchor\s*\(/, 'parseAnchor function required');
});
// --- Fleet-grid CSS parity vs vendored DS (v4.3 Step 9 / 99707f51) ---
test('Group B — SC1.4 fleet-grid CSS parity vs vendored DS (99707f51)', () => {
const cssPath = join(ROOT, 'playground', 'vendor', 'playground-design-system', 'components-tier3-supplement.css');
const css = readFileSync(cssPath, 'utf-8');
const startIdx = css.indexOf('.fleet-grid {');
assert.notStrictEqual(startIdx, -1, '.fleet-grid block required in vendored DS components-tier3-supplement.css');
const endIdx = css.indexOf('}', startIdx);
assert.notStrictEqual(endIdx, -1, '.fleet-grid block must terminate');
const block = css.slice(startIdx, endIdx + 1);
assert.match(block, /grid-template-columns:\s*repeat\(4,\s*1fr\)/, '.fleet-grid grid-template-columns: repeat(4, 1fr) required');
assert.match(block, /gap:\s*var\(--space-3\)/, '.fleet-grid gap: var(--space-3) required');
});