@@ -368,6 +368,81 @@ func TestConvertExtensionFlag(t *testing.T) {
368368 }
369369}
370370
371+ func TestShouldSkipExtensionFlag (t * testing.T ) {
372+ tests := []struct {
373+ name string
374+ flag extensions.Flag
375+ want bool
376+ }{
377+ {
378+ name : "default inherited output flag" ,
379+ flag : extensions.Flag {
380+ Name : "output" ,
381+ Shorthand : "o" ,
382+ Description : defaultExtensionOutputFlagUsage ,
383+ Default : defaultExtensionOutputFlagValue ,
384+ },
385+ want : true ,
386+ },
387+ {
388+ name : "output flag with valid values" ,
389+ flag : extensions.Flag {
390+ Name : "output" ,
391+ Shorthand : "o" ,
392+ Description : defaultExtensionOutputFlagUsage ,
393+ Default : defaultExtensionOutputFlagValue ,
394+ ValidValues : []string {"json" , "table" },
395+ },
396+ want : false ,
397+ },
398+ {
399+ name : "output flag with custom description" ,
400+ flag : extensions.Flag {
401+ Name : "output" ,
402+ Shorthand : "o" ,
403+ Description : "Path to the output directory." ,
404+ Default : defaultExtensionOutputFlagValue ,
405+ },
406+ want : false ,
407+ },
408+ {
409+ name : "output flag with custom default" ,
410+ flag : extensions.Flag {
411+ Name : "output" ,
412+ Shorthand : "o" ,
413+ Description : defaultExtensionOutputFlagUsage ,
414+ Default : "json" ,
415+ },
416+ want : false ,
417+ },
418+ {
419+ name : "output flag without shorthand" ,
420+ flag : extensions.Flag {
421+ Name : "output" ,
422+ Description : defaultExtensionOutputFlagUsage ,
423+ Default : defaultExtensionOutputFlagValue ,
424+ },
425+ want : false ,
426+ },
427+ {
428+ name : "different flag" ,
429+ flag : extensions.Flag {
430+ Name : "format" ,
431+ Shorthand : "o" ,
432+ Description : defaultExtensionOutputFlagUsage ,
433+ Default : defaultExtensionOutputFlagValue ,
434+ },
435+ want : false ,
436+ },
437+ }
438+
439+ for _ , tt := range tests {
440+ t .Run (tt .name , func (t * testing.T ) {
441+ require .Equal (t , tt .want , shouldSkipExtensionFlag (tt .flag ))
442+ })
443+ }
444+ }
445+
371446func TestConvertExtensionArg (t * testing.T ) {
372447 tests := []struct {
373448 name string
0 commit comments