Parse shared debug input once
This commit is contained in:
@@ -281,3 +281,14 @@ func TestMissingSessionTreeReturnsNeutralFailures(t *testing.T) {
|
||||
t.Fatalf("missing-tree usage failure = %#v", failure)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSharedDebugExtractionPreservesConsumerIndexes(t *testing.T) {
|
||||
tree := &Command{Name: "app", CoreFlags: commandmeta.ReportingFlags(), Children: []*Command{{Name: "run", Runnable: true, CoreFlags: commandmeta.ReportingFlags(), Flags: []Flag{{Name: "before"}, {Name: "debug", Short: "d", Boolean: true}, {Name: "after"}}}}}
|
||||
result := Parse(tree, []string{"run", "--before=one", "-d", "--after=two", "-x=false"}, ParseOptions{FlagAliases: []commandmeta.FlagAlias{{Source: "-x", Target: "--debug"}}})
|
||||
if result.Failure != nil {
|
||||
t.Fatal(result.Failure)
|
||||
}
|
||||
if !reflect.DeepEqual(result.FlagValues, [][]string{{"one"}, {"true", "false"}, {"two"}}) || !reflect.DeepEqual(result.FlagSpellings[1], []string{"-d", "-x"}) || len(result.FlagOccurrences) != 4 {
|
||||
t.Fatalf("parse = %#v", result)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user