Files
Markus Fritsche fe1a9d3a76 @jsdev web-game grinding: jsdom DOM-smoke harness (webgame-smoke)
node --test alone grades JS logic, not a single-file HTML *game* — no DOM/canvas. Add a
jsdom harness (contrib/webgame-smoke) that loads the HTML headless with canvas-2d /
requestAnimationFrame / Web-Audio shimmed, runs the game's JS, captures uncaught errors, and
exposes tick(n). A .test.js DOM-smokes the game: boots + ticks without throwing. Grinder js
branch now sets NODE_PATH=/usr/lib/node_modules so jsdom + the harness resolve in the jail.

Verified end-to-end: a broken canvas game (undefined var -> boot crash) ground to GREEN.
Deploy on the grind host: sudo npm i -g jsdom + copy the harness to /usr/lib/node_modules
(done on boltzmann). Closes the web-game gap the Asteroids test surfaced.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EWpfhDgYNA21tETDP9ueBE
2026-07-24 16:38:50 +02:00
..