schemeta/tests/render-regression.test.js
2026-02-19 23:52:12 -05:00

20 lines
785 B
JavaScript

import test from "node:test";
import assert from "node:assert/strict";
import { createHash } from "node:crypto";
import { compile } from "../src/compile.js";
import fixture from "../examples/esp32-audio.json" with { type: "json" };
function svgHash(svg) {
return createHash("sha256").update(String(svg ?? "")).digest("hex");
}
test("render output for reference fixture remains deterministic", () => {
const outA = compile(fixture, { render_mode: "schematic_stub", show_labels: true });
const outB = compile(fixture, { render_mode: "schematic_stub", show_labels: true });
assert.equal(outA.ok, true);
assert.equal(outB.ok, true);
assert.equal(outA.svg, outB.svg);
assert.equal(svgHash(outA.svg), "80ab4c279caf29b2a14096346d6e993ef677f41bf1b3bc226eefa7b069b6487d");
});