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