From d12b4ac03e922618d9a45b00e28e885869e789ec Mon Sep 17 00:00:00 2001 From: space-nuko <24979496+space-nuko@users.noreply.github.com> Date: Sat, 20 May 2023 21:48:11 -0500 Subject: [PATCH] Fix tests --- src/tests/ComfyPromptSerializerTests.ts | 43 +++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/src/tests/ComfyPromptSerializerTests.ts b/src/tests/ComfyPromptSerializerTests.ts index 7540a15..0ff7d2d 100644 --- a/src/tests/ComfyPromptSerializerTests.ts +++ b/src/tests/ComfyPromptSerializerTests.ts @@ -165,10 +165,9 @@ export default class ComfyPromptSerializerTests extends UnitTest { const result = ser.serialize(graph) - expect(Object.keys(result.output)).toHaveLength(3); + expect(Object.keys(result.output)).toHaveLength(2); expect(result.output[input.id].inputs["in"]).toBeUndefined(); - expect(result.output[link.id].inputs["in"]).toBeInstanceOf(Array) - expect(result.output[link.id].inputs["in"][0]).toEqual(output.id) + expect(result.output[link.id]).toBeUndefined(); expect(result.output[output.id].inputs).toEqual({}) } @@ -211,4 +210,42 @@ export default class ComfyPromptSerializerTests extends UnitTest { expect(result.output[link.id].inputs["in"][0]).toEqual(output.id) expect(result.output[output.id].inputs).toEqual({}) } + + test__serialize__shouldIgnoreInactiveSubgraphsRecursively() { + const ser = new ComfyPromptSerializer(); + const graph = new ComfyGraph(); + + const output = LiteGraph.createNode(MockBackendOutput) + const link = LiteGraph.createNode(MockBackendLink) + const input = LiteGraph.createNode(MockBackendInput) + + const subgraphA = LiteGraph.createNode(Subgraph) + const subgraphB = LiteGraph.createNode(Subgraph) + const graphInputA = subgraphA.addGraphInput("testIn", "number") + const graphOutputA = subgraphA.addGraphOutput("testOut", "number") + const graphInputB = subgraphB.addGraphInput("testIn", "number") + const graphOutputB = subgraphB.addGraphOutput("testOut", "number") + + graph.add(subgraphA) + subgraphA.subgraph.add(subgraphB) + graph.add(output) + subgraphB.subgraph.add(link) + graph.add(input) + + output.connect(0, subgraphA, 0) + graphInputA.innerNode.connect(0, subgraphB, 0) + graphInputB.innerNode.connect(0, link, 0) + link.connect(0, graphOutputB.innerNode, 0) + subgraphB.connect(0, graphOutputA.innerNode, 0) + subgraphA.connect(0, input, 0) + + subgraphA.mode = NodeMode.NEVER; + + const result = ser.serialize(graph) + + expect(Object.keys(result.output)).toHaveLength(2); + expect(result.output[input.id].inputs["in"]).toBeUndefined(); + expect(result.output[link.id]).toBeUndefined(); + expect(result.output[output.id].inputs).toEqual({}) + } }