@@ -447,6 +447,49 @@ def test_gguf_unet_loader_keeps_diffusion_badge_and_raw_folder_hint(self):
447447 self .assertEqual (["diffusion_models" ], refs [0 ]["category_hints" ])
448448 self .assertEqual (["model_gguf" ], refs [0 ]["folder_key_hints" ])
449449
450+ def test_gguf_loader_resolves_scanner_category_alias (self ):
451+ with tempfile .TemporaryDirectory () as tmpdir :
452+ model_path = os .path .join (tmpdir , "flux1-fill-dev-Q4_K_S.gguf" )
453+ with open (model_path , "wb" ):
454+ pass
455+
456+ available_models = [
457+ {
458+ "filename" : "flux1-fill-dev-Q4_K_S.gguf" ,
459+ "path" : model_path ,
460+ "relative_path" : r"FLUX\FILL\flux1-fill-dev-Q4_K_S.gguf" ,
461+ "category" : "model_gguf" ,
462+ "base_directory" : tmpdir ,
463+ }
464+ ]
465+ workflow = {
466+ "nodes" : [
467+ {
468+ "id" : 346 ,
469+ "type" : "LoaderGGUF" ,
470+ "widgets" : [{"name" : "gguf_name" }],
471+ "widgets_values" : [
472+ r"FLUX\FILL\flux1-fill-dev-Q4_K_S.gguf"
473+ ],
474+ "outputs" : [{"type" : "MODEL" , "links" : [1 ]}],
475+ }
476+ ]
477+ }
478+
479+ with patch (
480+ "core.workflow_analyzer.get_dynamic_widget_category_hints" ,
481+ return_value = ["model_gguf" ],
482+ ):
483+ refs = analyze_workflow_models (
484+ workflow ,
485+ available_models = available_models ,
486+ )
487+
488+ self .assertEqual (1 , len (refs ))
489+ self .assertTrue (refs [0 ]["exists" ])
490+ self .assertEqual (model_path , refs [0 ]["full_path" ])
491+ self .assertEqual ("diffusion_models" , refs [0 ]["category" ])
492+
450493
451494class ScannerFolderModelTests (unittest .TestCase ):
452495 def test_diffusers_folder_models_are_scanned_as_folder_entries (self ):
0 commit comments