mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-02 14:27:40 +00:00
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import { LGraph, LGraphGroup, LGraphNode, LiteGraph } from "../src/litegraph"
|
|
import { LiteGraphGlobal } from "../src/LiteGraphGlobal"
|
|
|
|
function makeGraph() {
|
|
const LiteGraph = new LiteGraphGlobal()
|
|
LiteGraph.registerNodeType("TestNode", LGraphNode)
|
|
LiteGraph.registerNodeType("OtherNode", LGraphNode)
|
|
LiteGraph.registerNodeType("", LGraphNode)
|
|
return new LGraph()
|
|
}
|
|
|
|
describe("LGraph", () => {
|
|
it("can be instantiated", () => {
|
|
// @ts-ignore TODO: Remove once relative imports fix goes in.
|
|
const graph = new LGraph({ extra: "TestGraph" })
|
|
expect(graph).toBeInstanceOf(LGraph)
|
|
expect(graph.extra).toBe("TestGraph")
|
|
})
|
|
})
|
|
|
|
describe("Legacy LGraph Compatibility Layer", () => {
|
|
it("can be extended via prototype", () => {
|
|
const graph = new LGraph()
|
|
// @ts-expect-error Should always be an error.
|
|
LGraph.prototype.newMethod = function () {
|
|
return "New method added via prototype"
|
|
}
|
|
// @ts-expect-error Should always be an error.
|
|
expect(graph.newMethod()).toBe("New method added via prototype")
|
|
})
|
|
|
|
it("is correctly assigned to LiteGraph", () => {
|
|
expect(LiteGraph.LGraph).toBe(LGraph)
|
|
})
|
|
})
|
|
|
|
describe("LGraph Serialisation", () => {
|
|
it("should serialise", () => {
|
|
const graph = new LGraph()
|
|
graph.add(new LGraphNode("Test Node"))
|
|
graph.add(new LGraphGroup("Test Group"))
|
|
expect(graph.nodes.length).toBe(1)
|
|
expect(graph.groups.length).toBe(1)
|
|
})
|
|
})
|