diff --git a/src/Reroute.ts b/src/Reroute.ts index 17d1106de..73c691902 100644 --- a/src/Reroute.ts +++ b/src/Reroute.ts @@ -329,6 +329,35 @@ export class Reroute implements Positionable, LinkSegment, Serialisable({ } } } + + for (const link of graph._links.values()) { + expect(graph.getNodeById(link!.origin_id)?.outputs[link!.origin_slot].links).toContain(link.id) + expect(graph.getNodeById(link!.target_id)?.inputs[link!.target_slot].link).toBe(link.id) + } + + for (const link of graph.floatingLinks.values()) { + if (link.target_id === -1) { + expect(link.origin_id).not.toBe(-1) + expect(link.origin_slot).not.toBe(-1) + expect(link.target_slot).toBe(-1) + const outputFloatingLinks = graph.getNodeById(link.origin_id)?.outputs[link.origin_slot]._floatingLinks + expect(outputFloatingLinks).toBeDefined() + expect(outputFloatingLinks).toContain(link) + } else { + expect(link.origin_id).toBe(-1) + expect(link.origin_slot).toBe(-1) + expect(link.target_slot).not.toBe(-1) + const inputFloatingLinks = graph.getNodeById(link.target_id)?.inputs[link.target_slot]._floatingLinks + expect(inputFloatingLinks).toBeDefined() + expect(inputFloatingLinks).toContain(link) + } + } }) },