From b921d97febb96ad894db7a498c882229ab22984a Mon Sep 17 00:00:00 2001 From: Eric Mehl Date: Mon, 13 May 2024 17:46:46 -0400 Subject: [PATCH] squash me : test identical shader names --- .../ParameterInspectorTest.py | 42 ++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/python/GafferSceneUITest/ParameterInspectorTest.py b/python/GafferSceneUITest/ParameterInspectorTest.py index 33bbb03980f..52fa078e26e 100644 --- a/python/GafferSceneUITest/ParameterInspectorTest.py +++ b/python/GafferSceneUITest/ParameterInspectorTest.py @@ -951,10 +951,50 @@ def testTwoConnectionsToSameNode( self ) : edit = s["add"]["parameters"]["b"] ) + def testIdenticalShaderNames( self ) : + + s = Gaffer.ScriptNode() + + s["box"] = Gaffer.Box() + + s["box"]["add"] = GafferScene.Shader() + s["box"]["add"]["parameters"]["a"] = Gaffer.Color3fPlug() + s["box"]["add"]["out"] = Gaffer.Color3fPlug( direction = Gaffer.Plug.Direction.Out ) + + s["box"]["outColor"] = Gaffer.BoxOut() + s["box"]["outColor"].setup( s["box"]["add"]["out"] ) + s["box"]["outColor"]["in"].setInput( s["box"]["add"]["out"] ) + + s["add"] = GafferScene.Shader() + s["add"]["parameters"]["a"] = Gaffer.FloatPlug() + s["add"]["out"] = Gaffer.FloatPlug( direction = Gaffer.Plug.Direction.Out ) + + s["light"] = GafferSceneTest.TestLight() + s["light"]["parameters"]["intensity"].setInput( s["box"]["out"] ) + s["light"]["parameters"]["exposure"].setInput( s["add"]["out"] ) + + self.assertEqual( s["box"]["add"].getName(), s["add"].getName() ) + + # `intensity` comes first in the parameter list and will be added to the network first + self.__assertExpectedResult( + self.__inspect( s["light"]["out"], "/light", "a", shader = "add" ), + source = s["box"]["add"]["parameters"]["a"], + sourceType = GafferSceneUI.Private.Inspector.Result.SourceType.Other, + editable = True, + edit = s["box"]["add"]["parameters"]["a"] + ) + + self.__assertExpectedResult( + self.__inspect( s["light"]["out"], "/light", "a", shader = "add1" ), + source = s["add"]["parameters"]["a"], + sourceType = GafferSceneUI.Private.Inspector.Result.SourceType.Other, + editable = True, + edit = s["add"]["parameters"]["a"] + ) + # \todo : # - Test component connections # - Test splines - # - Test identical node names, one is in a box so the node names don't get de-duped # - Test disabled node passthrough # - Detect cycles