forked from mirror/cobra
Add backwards-compatibility tests for legacyArgs() (#1547)
These tests make sure we don't break backwards-compatibility with respect to the current behaviour of legacyArgs(). See #1500 for the back-story. Signed-off-by: Marc Khouzam <marc.khouzam@montreal.ca>
This commit is contained in:
parent
8cc7be2119
commit
94e552d8d6
29
args_test.go
29
args_test.go
|
@ -292,3 +292,32 @@ func TestMatchAll(t *testing.T) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This test make sure we keep backwards-compatibility with respect
|
||||||
|
// to the legacyArgs() function.
|
||||||
|
// It makes sure the root command accepts arguments if it does not have
|
||||||
|
// sub-commands.
|
||||||
|
func TestLegacyArgsRootAcceptsArgs(t *testing.T) {
|
||||||
|
rootCmd := &Command{Use: "root", Args: nil, Run: emptyRun}
|
||||||
|
|
||||||
|
_, err := executeCommand(rootCmd, "somearg")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Unexpected error: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// This test make sure we keep backwards-compatibility with respect
|
||||||
|
// to the legacyArgs() function.
|
||||||
|
// It makes sure a sub-command accepts arguments and further sub-commands
|
||||||
|
func TestLegacyArgsSubcmdAcceptsArgs(t *testing.T) {
|
||||||
|
rootCmd := &Command{Use: "root", Args: nil, Run: emptyRun}
|
||||||
|
childCmd := &Command{Use: "child", Args: nil, Run: emptyRun}
|
||||||
|
grandchildCmd := &Command{Use: "grandchild", Args: nil, Run: emptyRun}
|
||||||
|
rootCmd.AddCommand(childCmd)
|
||||||
|
childCmd.AddCommand(grandchildCmd)
|
||||||
|
|
||||||
|
_, err := executeCommand(rootCmd, "child", "somearg")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Unexpected error: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue