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)
|
|
})
|
|
})
|