20 lines
785 B
JavaScript
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), "e8bd7fd921b64677e68e2e44087c4d2b68afb2146d79cfff661cf7d6a72ab44d");
|
|
});
|