Files
ComfyUI_frontend/test/LGraph.test.ts
2024-11-03 09:20:57 +04:00

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