@@ -368,6 +368,33 @@ func TestClassifier_Classify(t *testing.T) {
368368 expectedReason : filter .CandidacyReasonNone ,
369369 expectedIdx : - 1 ,
370370 },
371+ {
372+ name : "filesystem_match_requires_parse_when_parse_exprs_exist" ,
373+ filterStrs : []string {"./apps/*" , "reading=config/*.hcl" },
374+ componentPath : "./apps/app1" ,
375+ parseDataAvailable : false ,
376+ expectedStatus : filter .StatusCandidate ,
377+ expectedReason : filter .CandidacyReasonRequiresParse ,
378+ expectedIdx : - 1 ,
379+ },
380+ {
381+ name : "no_filesystem_match_still_requires_parse" ,
382+ filterStrs : []string {"./apps/*" , "reading=config/*.hcl" },
383+ componentPath : "./libs/db" ,
384+ parseDataAvailable : false ,
385+ expectedStatus : filter .StatusCandidate ,
386+ expectedReason : filter .CandidacyReasonRequiresParse ,
387+ expectedIdx : - 1 ,
388+ },
389+ {
390+ name : "negation_excluded_not_rescued_by_parse_exprs" ,
391+ filterStrs : []string {"!./apps/app1" , "reading=config/*.hcl" },
392+ componentPath : "./apps/app1" ,
393+ parseDataAvailable : false ,
394+ expectedStatus : filter .StatusExcluded ,
395+ expectedReason : filter .CandidacyReasonNone ,
396+ expectedIdx : - 1 ,
397+ },
371398 }
372399
373400 for _ , tt := range tests {
0 commit comments