19 lines
1.4 KiB
JavaScript
19 lines
1.4 KiB
JavaScript
import assert from "node:assert/strict";
|
|
import { SIM_DISPLAY_FAMILY_CATALOG, SIM_DISPLAY_FAMILY_COUNTS } from "./sim-display-families.mjs";
|
|
import { displayFamilyForCase, renderDisplayFamily } from "./display-family.mjs";
|
|
|
|
assert.equal(SIM_DISPLAY_FAMILY_CATALOG.length, 235);
|
|
assert.equal(SIM_DISPLAY_FAMILY_COUNTS.axis, 85);
|
|
assert.equal(SIM_DISPLAY_FAMILY_COUNTS.qtvcp, 61);
|
|
assert.equal(displayFamilyForCase("linuxcnc/configs/sim/axis/corexy/corexy_by_hal.ini").family, "axis");
|
|
assert.equal(displayFamilyForCase("linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.ini").family, "qtvcp");
|
|
assert.equal(displayFamilyForCase("linuxcnc/configs/sim/touchy/touchy.ini").family, "touchy");
|
|
|
|
class Node { constructor(tag) { this.tagName = tag; this.children = []; this.className = ""; this.textContent = ""; } append(...nodes) { this.children.push(...nodes); } }
|
|
const document = { createElement: (tag) => new Node(tag) };
|
|
const panel = renderDisplayFamily(document, { casePath: "linuxcnc/configs/sim/axis/corexy/corexy_by_hal.ini" });
|
|
assert.equal(panel.className, "display-family");
|
|
assert.match(panel.children[0].textContent, /AXIS/);
|
|
assert.ok(panel.children[2].children.length >= 5);
|
|
console.log(JSON.stringify({ schema: "display-family-s8-07-sample.v1", status: "verified", case_count: SIM_DISPLAY_FAMILY_CATALOG.length, counts: SIM_DISPLAY_FAMILY_COUNTS, selected: displayFamilyForCase("linuxcnc/configs/sim/axis/corexy/corexy_by_hal.ini") }));
|