Files
forma-engine/tests/presentation.test.ts

25 lines
845 B
TypeScript

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);
});