diff --git a/tests/test_generate_popular_node_signatures.py b/tests/test_generate_popular_node_signatures.py index 957939d..ce59b12 100644 --- a/tests/test_generate_popular_node_signatures.py +++ b/tests/test_generate_popular_node_signatures.py @@ -4939,6 +4939,33 @@ NODE_DISPLAY_NAME_MAPPINGS = { self.assertEqual({}, result["nodes"]) self.assertEqual("no_static_nodes", result["pack"]["status"]) + def test_empty_display_mapping_value_is_preserved(self): + source = ''' +class EmptyDisplayNode: + RETURN_TYPES = ("IMAGE",) + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "image": ("IMAGE",), + }, + } + + +NODE_CLASS_MAPPINGS = { + "EmptyDisplayNode": EmptyDisplayNode, +} +NODE_DISPLAY_NAME_MAPPINGS = { + "EmptyDisplayNode": "", +} +''' + result = self._extract_source(source, "empty-display-pack") + + self.assertIn("EmptyDisplayNode", result["nodes"]) + self.assertEqual("", result["nodes"]["EmptyDisplayNode"]["display"]) + self.assertEqual("ok", result["pack"]["status"]) + def test_non_string_display_mapping_value_skips_node(self): source = ''' class NonStringDisplayValueNode: diff --git a/tools/generate_popular_node_signatures.py b/tools/generate_popular_node_signatures.py index 6c6d414..b4a7451 100644 --- a/tools/generate_popular_node_signatures.py +++ b/tools/generate_popular_node_signatures.py @@ -2518,7 +2518,7 @@ def _signature_from_class(node_type, cls, display, pack_meta, class_env, input_e return { "type": node_type, - "display": display or node_type, + "display": display if display is not None else node_type, "pack": pack_meta["id"], "repository": pack_meta.get("repository", ""), "inputs": inputs,