Test fix: Node groups outputs now placed before inputs

#113060 enforces output/input ordering of node group sockets.
The bf_node_group_interface test needs to be updated to reflect
these changes.

Pull Request: https://projects.blender.org/blender/blender/pulls/113213
This commit is contained in:
Lukas Tönne 2023-10-03 17:24:12 +02:00
parent fff74145f1
commit 8a20bd4182
1 changed files with 14 additions and 14 deletions

View File

@ -218,10 +218,10 @@ class NodeGroupInterfaceTests:
# Panels after sockets
self.assertSequenceEqual([(s.name, s.item_type) for s in tree.interface.items_tree], [
("Input 0", 'SOCKET'),
("Output 0", 'SOCKET'),
("Input 1", 'SOCKET'),
("Output 1", 'SOCKET'),
("Input 0", 'SOCKET'),
("Input 1", 'SOCKET'),
("Panel 0", 'PANEL'),
("Panel 1", 'PANEL'),
("Panel 2", 'PANEL'),
@ -252,30 +252,30 @@ class NodeGroupInterfaceTests:
self.assertSequenceEqual([s.name for s in group_node.outputs], [])
out0 = tree.interface.new_socket("Output 0", socket_type=socket_type, in_out='OUTPUT')
self.assertSequenceEqual(tree.interface.items_tree, [in0, out0])
self.assertSequenceEqual(tree.interface.items_tree, [out0, in0])
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 0"])
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0"])
panel0 = tree.interface.new_panel("Panel 0")
self.assertSequenceEqual(tree.interface.items_tree, [in0, out0, panel0])
self.assertSequenceEqual(tree.interface.items_tree, [out0, in0, panel0])
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 0"])
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0"])
# Add items to the panel.
in1 = tree.interface.new_socket("Input 1", socket_type=socket_type, in_out='INPUT', parent=panel0)
self.assertSequenceEqual(tree.interface.items_tree, [in0, out0, panel0, in1])
self.assertSequenceEqual(tree.interface.items_tree, [out0, in0, panel0, in1])
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 0", "Input 1"])
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0"])
out1 = tree.interface.new_socket("Output 1", socket_type=socket_type, in_out='OUTPUT', parent=panel0)
self.assertSequenceEqual(tree.interface.items_tree, [in0, out0, panel0, in1, out1])
self.assertSequenceEqual(tree.interface.items_tree, [out0, in0, panel0, out1, in1])
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 0", "Input 1"])
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0", "Output 1"])
# Nested panel is not allowed and should return None.
panel1 = tree.interface.new_panel("Panel 1", parent=panel0)
self.assertIsNone(panel1)
self.assertSequenceEqual(tree.interface.items_tree, [in0, out0, panel0, in1, out1])
self.assertSequenceEqual(tree.interface.items_tree, [out0, in0, panel0, out1, in1])
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 0", "Input 1"])
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0", "Output 1"])
@ -292,42 +292,42 @@ class NodeGroupInterfaceTests:
out2 = tree.interface.new_socket("Output 2", socket_type=socket_type, in_out='OUTPUT', parent=panel1)
panel2 = tree.interface.new_panel("Panel 2")
self.assertSequenceEqual(tree.interface.items_tree, [in0, out0, panel0, in1, out1, panel1, in2, out2, panel2])
self.assertSequenceEqual(tree.interface.items_tree, [out0, in0, panel0, out1, in1, panel1, out2, in2, panel2])
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 0", "Input 1", "Input 2"])
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0", "Output 1", "Output 2"])
# Remove from root panel.
tree.interface.remove(in0)
self.assertSequenceEqual(tree.interface.items_tree, [out0, panel0, in1, out1, panel1, in2, out2, panel2])
self.assertSequenceEqual(tree.interface.items_tree, [out0, panel0, out1, in1, panel1, out2, in2, panel2])
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 1", "Input 2"])
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0", "Output 1", "Output 2"])
# Removing a panel should move content to the parent.
tree.interface.remove(panel0)
self.assertSequenceEqual(tree.interface.items_tree, [out0, in1, out1, panel1, in2, out2, panel2])
self.assertSequenceEqual(tree.interface.items_tree, [out0, out1, in1, panel1, out2, in2, panel2])
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 1", "Input 2"])
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 0", "Output 1", "Output 2"])
tree.interface.remove(out0)
self.assertSequenceEqual(tree.interface.items_tree, [in1, out1, panel1, in2, out2, panel2])
self.assertSequenceEqual(tree.interface.items_tree, [out1, in1, panel1, out2, in2, panel2])
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 1", "Input 2"])
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 1", "Output 2"])
# Remove content from panel
tree.interface.remove(out2)
self.assertSequenceEqual(tree.interface.items_tree, [in1, out1, panel1, in2, panel2])
self.assertSequenceEqual(tree.interface.items_tree, [out1, in1, panel1, in2, panel2])
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 1", "Input 2"])
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 1"])
# Remove a panel and its content
tree.interface.remove(panel1, move_content_to_parent=False)
self.assertSequenceEqual(tree.interface.items_tree, [in1, out1, panel2])
self.assertSequenceEqual(tree.interface.items_tree, [out1, in1, panel2])
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 1"])
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 1"])
# Remove empty panel
tree.interface.remove(panel2)
self.assertSequenceEqual(tree.interface.items_tree, [in1, out1])
self.assertSequenceEqual(tree.interface.items_tree, [out1, in1])
self.assertSequenceEqual([s.name for s in group_node.inputs], ["Input 1"])
self.assertSequenceEqual([s.name for s in group_node.outputs], ["Output 1"])