Files
ComfyUI_frontend/test/LGraphNode.test.ts
Chenlei Hu 7813e5207a Revert "Revert "Convert i/o slot to class in LGraphNode.configure"" (#518)
* Revert "Revert "Convert i/o slot to class in LGraphNode.configure (#506)" (#511)"

This reverts commit d029bd8924.

* nit
2025-02-12 11:06:35 -05:00

53 lines
1.7 KiB
TypeScript

import { describe, expect } from "vitest"
import { LGraphNode } from "@/litegraph"
import { NodeInputSlot, NodeOutputSlot } from "@/NodeSlot"
import { lgTest } from "./lgTest"
describe("LGraphNode", () => {
lgTest("should serialize position/size correctly", () => {
const node = new LGraphNode("TestNode")
node.pos = [10, 10]
expect(node.pos).toEqual(new Float32Array([10, 10]))
expect(node.serialize().pos).toEqual([10, 10])
node.size = [100, 100]
expect(node.size).toEqual(new Float32Array([100, 100]))
expect(node.serialize().size).toEqual([100, 100])
})
lgTest("should configure inputs correctly", () => {
const node = new LGraphNode("TestNode")
node.configure({
id: 0,
inputs: [{ name: "TestInput", type: "number", link: null }],
})
expect(node.inputs.length).toEqual(1)
expect(node.inputs[0].name).toEqual("TestInput")
expect(node.inputs[0].link).toEqual(null)
expect(node.inputs[0]).instanceOf(NodeInputSlot)
// Should not override existing inputs
node.configure({ id: 1 })
expect(node.id).toEqual(1)
expect(node.inputs.length).toEqual(1)
})
lgTest("should configure outputs correctly", () => {
const node = new LGraphNode("TestNode")
node.configure({
id: 0,
outputs: [{ name: "TestOutput", type: "number", links: [] }],
})
expect(node.outputs.length).toEqual(1)
expect(node.outputs[0].name).toEqual("TestOutput")
expect(node.outputs[0].type).toEqual("number")
expect(node.outputs[0].links).toEqual([])
expect(node.outputs[0]).instanceOf(NodeOutputSlot)
// Should not override existing outputs
node.configure({ id: 1 })
expect(node.id).toEqual(1)
expect(node.outputs.length).toEqual(1)
})
})