Files
ComfyUI_frontend/tests-ui/tests/litegraph.test.ts
Chenlei Hu ab7436f87c Update litegraph to 0.7.26 (#161)
* Update litegraph

* Test node order

* Update test expectations [skip ci]

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-18 17:34:35 -04:00

41 lines
1.0 KiB
TypeScript

import { LiteGraph } from "@comfyorg/litegraph";
import { LGraph } from "@comfyorg/litegraph";
import { LGraphNode } from "@comfyorg/litegraph";
function swapNodes(nodes: LGraphNode[]) {
const firstNode = nodes[0];
const lastNode = nodes[nodes.length - 1];
nodes[0] = lastNode;
nodes[nodes.length - 1] = firstNode;
return nodes;
}
function createGraph(...nodes: LGraphNode[]) {
const graph = new LGraph();
nodes.forEach((node) => graph.add(node));
return graph;
}
class DummyNode extends LGraphNode {
constructor() {
super();
}
}
describe("LGraph", () => {
it("should serialize deterministic node order", async () => {
LiteGraph.registerNodeType("dummy", DummyNode);
const node1 = new DummyNode();
const node2 = new DummyNode();
const graph = createGraph(node1, node2);
const result1 = graph.serialize();
expect(result1.nodes).not.toHaveLength(0);
// @ts-ignore
graph._nodes = swapNodes(graph._nodes);
const result2 = graph.serialize();
expect(result1).toEqual(result2);
});
});