mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-20 06:20:11 +00:00
fix: use Map lookup for subgraph output disconnect
- Replace deprecated indexed link access with Map#get in SubgraphOutput.disconnect - Add behavior-focused regression coverage for idempotent output disconnect Amp-Thread-ID: https://ampcode.com/threads/T-019ca639-cde7-744d-b426-6ea21b2159e6 Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
@@ -565,6 +565,29 @@ describe('SubgraphIO - Output Slot Dual-Nature Behavior', () => {
|
||||
expect(internalNode.outputs[0].links).toEqual([])
|
||||
}
|
||||
)
|
||||
|
||||
subgraphTest(
|
||||
'disconnect is idempotent and keeps output endpoints detached',
|
||||
({ subgraphWithNode }) => {
|
||||
const { subgraph } = subgraphWithNode
|
||||
|
||||
const internalNode = new LGraphNode('Internal Source')
|
||||
internalNode.addOutput('out', '*')
|
||||
subgraph.add(internalNode)
|
||||
|
||||
const subgraphOutput = subgraph.outputNode.slots[0]
|
||||
const link = subgraphOutput.connect(internalNode.outputs[0], internalNode)
|
||||
if (!link) throw new Error('Expected link')
|
||||
|
||||
subgraphOutput.disconnect()
|
||||
subgraphOutput.disconnect()
|
||||
|
||||
expect(subgraph.getLink(link.id)).toBeUndefined()
|
||||
expect(subgraphOutput.getLinks()).toEqual([])
|
||||
expect(subgraphOutput.linkIds).toEqual([])
|
||||
expect(internalNode.outputs[0].links).toEqual([])
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
describe('SubgraphIO - Boundary Connection Management', () => {
|
||||
|
||||
@@ -136,7 +136,7 @@ export class SubgraphOutput extends SubgraphSlot {
|
||||
|
||||
//should never have more than one connection
|
||||
for (const linkId of [...this.linkIds]) {
|
||||
const link = subgraph.links[linkId]
|
||||
const link = subgraph.links.get(linkId)
|
||||
if (!link) continue
|
||||
|
||||
const { outputNode } = link.resolve(subgraph)
|
||||
|
||||
Reference in New Issue
Block a user