86 lines
3.6 KiB
JavaScript
86 lines
3.6 KiB
JavaScript
import assert from "node:assert/strict";
|
|
import test from "node:test";
|
|
|
|
import {
|
|
defaultOpenFileSheetSectionIds,
|
|
fileSheetSectionIdsWithOpenSection,
|
|
renderedFileSheetSectionIds,
|
|
shouldOpenFileSheetForSelectionReveal
|
|
} from "./fileSheetSections.js";
|
|
|
|
test("file sheet section defaults match current sheet behavior", () => {
|
|
assert.deepEqual(defaultOpenFileSheetSectionIds("dxf"), ["dxf"]);
|
|
assert.deepEqual(defaultOpenFileSheetSectionIds("gcode"), ["toolpath"]);
|
|
assert.deepEqual(defaultOpenFileSheetSectionIds("step"), ["tree"]);
|
|
assert.deepEqual(defaultOpenFileSheetSectionIds("step", { hasFileStatus: true }), ["status", "tree"]);
|
|
assert.deepEqual(defaultOpenFileSheetSectionIds("step", { hasStepModulePanel: true }), ["tree", "parameters"]);
|
|
assert.deepEqual(defaultOpenFileSheetSectionIds("mesh", { hasFileStatus: true }), ["status"]);
|
|
assert.deepEqual(defaultOpenFileSheetSectionIds("implicit", { hasFileStatus: true }), ["status"]);
|
|
assert.deepEqual(defaultOpenFileSheetSectionIds("implicit"), []);
|
|
assert.deepEqual(defaultOpenFileSheetSectionIds("implicit", { hasImplicitParameterPanel: true }), ["parameters"]);
|
|
assert.deepEqual(defaultOpenFileSheetSectionIds("srdf"), ["joints"]);
|
|
assert.deepEqual(defaultOpenFileSheetSectionIds("srdf", { motionEnabled: true }), ["motion", "joints"]);
|
|
assert.deepEqual(defaultOpenFileSheetSectionIds("sdf"), ["sdf", "joints"]);
|
|
});
|
|
|
|
test("rendered file sheet sections include closed-by-default sections", () => {
|
|
assert.deepEqual(renderedFileSheetSectionIds("dxf", { hasFileStatus: true }), [
|
|
"status",
|
|
"dxf",
|
|
"display",
|
|
"appearance",
|
|
"metadata"
|
|
]);
|
|
assert.deepEqual(renderedFileSheetSectionIds("gcode", { hasFileStatus: true }), [
|
|
"status",
|
|
"toolpath",
|
|
"features",
|
|
"stats",
|
|
"bounds",
|
|
"display",
|
|
"appearance",
|
|
"metadata"
|
|
]);
|
|
assert.deepEqual(renderedFileSheetSectionIds("step", { hasFileStatus: true, hasStepModulePanel: true }), [
|
|
"status",
|
|
"tree",
|
|
"parameters",
|
|
"display",
|
|
"appearance",
|
|
"metadata"
|
|
]);
|
|
assert.deepEqual(renderedFileSheetSectionIds("srdf"), ["joints", "display", "appearance", "metadata"]);
|
|
assert.deepEqual(renderedFileSheetSectionIds("mesh"), ["display", "appearance", "metadata"]);
|
|
assert.deepEqual(renderedFileSheetSectionIds("implicit"), ["graphics", "display", "appearance", "metadata"]);
|
|
assert.deepEqual(renderedFileSheetSectionIds("implicit", { hasImplicitParameterPanel: true }), ["parameters", "graphics", "display", "appearance", "metadata"]);
|
|
});
|
|
|
|
test("file sheet section helper opens only rendered sections", () => {
|
|
assert.deepEqual(
|
|
fileSheetSectionIdsWithOpenSection(["plate", "bends"], ["dxf", "metadata"], "metadata"),
|
|
["dxf", "metadata"]
|
|
);
|
|
assert.deepEqual(
|
|
fileSheetSectionIdsWithOpenSection(["tree"], ["status", "tree", "metadata"], "status"),
|
|
["tree", "status"]
|
|
);
|
|
assert.deepEqual(
|
|
fileSheetSectionIdsWithOpenSection(["status", "tree"], ["status", "tree"], "status"),
|
|
["status", "tree"]
|
|
);
|
|
assert.deepEqual(
|
|
fileSheetSectionIdsWithOpenSection(["tree"], ["tree", "metadata"], "status"),
|
|
["tree"]
|
|
);
|
|
assert.deepEqual(
|
|
fileSheetSectionIdsWithOpenSection(["tree", "unknown"], ["status", "tree"], ""),
|
|
["tree"]
|
|
);
|
|
});
|
|
|
|
test("viewer-origin selection reveals do not open the file sheet on mobile", () => {
|
|
assert.equal(shouldOpenFileSheetForSelectionReveal({ isDesktop: true, source: "viewer" }), true);
|
|
assert.equal(shouldOpenFileSheetForSelectionReveal({ isDesktop: false, source: "viewer" }), false);
|
|
assert.equal(shouldOpenFileSheetForSelectionReveal({ isDesktop: false, source: "tree" }), true);
|
|
});
|