import test from "node:test"; import assert from "node:assert/strict"; import { normalizeHud } from "../engine/presentation.ts"; test("HUD bounds script values and handles malformed meter entries", () => { const h = normalizeHud({ objective: "x".repeat(300), counters: [1, 2, 3, 4, 5], meters: [ null, { id: "life", max: 5, value: 12, style: "hearts" }, { max: 0, value: NaN }, { max: 10, value: -3 }, ], }); assert.equal(h.objective!.length, 180); assert.equal(h.counters!.length, 4); assert.equal(h.meters![0].value, 0); assert.equal(h.meters![1].value, 5); assert.equal(h.meters![1].style, "hearts"); assert.equal(h.meters![2].max, 1); assert.equal(h.meters![3].value, 0); assert.deepEqual(normalizeHud(null), {}); assert.equal(normalizeHud({ overlay: null }).overlay, null); });