Files
escape-builder/tests/AGENTS.md
Claude Agent 16cd521430 Known improvements: dedup HUD letters-bar + validare stil import
Pasa de igiena (T8/T5/D8). Majoritatea erau deja livrate (persist guard D12,
esc/letter D13, validare 0 puzzle). Reale ramase:

- updateHud arcade/point NU erau identice (arcade: vieti/dusmani/bombe/raza;
  point: obiecte). Partea duplicata reala (scor + bara litere castigate) extrasa
  in SNIP.hudJs -> hudLetters(isSolved); isSolved(j) difera per motor
  (doorsSolved vs solvedFlags). Injectat in ambele; demo-uri regenerate.
- Stil top-level invalid la import: TOP_STYLES guard -> fallback classic + alert;
  idem la load din storage corupt. Test nou (smoke 28/28).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 19:36:41 +00:00

1.8 KiB

tests/ — Harness Playwright

Purpose

Smoke + regresie + campanie E2E pentru jocurile generate. Verifică faptic: fiecare stil se rezolvă până la ecranul final, fără erori de consolă.

Ownership

  • tests/smoke.mjs — unicul fișier de teste (~28 teste).
  • playwright.config.mjs (la root, gitignored) — config dev.

Local Contracts

  • NU commita package.json / package-lock.json / playwright.config.mjs — produsul rămâne zero-dependențe. Instalarea dev e o singură dată: npm i -D @playwright/test && npx playwright install chromium.
  • Fără npm scripts — se rulează direct cu npx.
  • Teste pe file:// — helper-ul fileURL(name) mapează cale relativă la file://; campania scrie HTML temp generat via builder (gameHTML) și-l încarcă de pe file://.
  • Zero erori consolă = invariant. trackErrors(page) colectează console.error + pageerror; fiecare test asertează errors.length === 0 la final.
  • Tag-uri: @regresie (15 — exemplu-*.html + edge cases + mobil 320px + regenerare via gameHTML + bomberman gameplay + bomberman rază/powerup-uri) și @campanie (12 — intro→hartă→camere→final, resume, cameră moartă, idempotență ușă, $/$&, beep, mobil, audio S1, voce/narațiune D10, a11y tap/aria/reduced-motion, navigare overworld).
  • Status țintă: 28/28 PASS.

Work Guidance

  • După modificări la motoare (escape-builder.html): rulează suita completă; extinde @regresie dacă adaugi/schimbi un stil, @campanie pentru contractul de montare.
  • Nu testa pe screenshot-uri de pixeli — asertează stare/text/erori.

Verification

npx playwright test tests/smoke.mjs                    # 28/28
npx playwright test tests/smoke.mjs --grep @regresie
npx playwright test tests/smoke.mjs --grep @campanie

Child DOX Index

(none — leaf)