Merge pull request #286 from dnephin/merge_flags_before_adding_help

Merge persistent flags before checking for a help flag
This commit is contained in:
Eric Paris 2016-10-10 11:14:18 -04:00 committed by GitHub
commit ec2fe78599
2 changed files with 16 additions and 0 deletions

View file

@ -735,6 +735,7 @@ func (c *Command) ExecuteC() (cmd *Command, err error) {
} }
func (c *Command) initHelpFlag() { func (c *Command) initHelpFlag() {
c.mergePersistentFlags()
if c.Flags().Lookup("help") == nil { if c.Flags().Lookup("help") == nil {
c.Flags().BoolP("help", "h", false, "help for "+c.Name()) c.Flags().BoolP("help", "h", false, "help for "+c.Name())
} }

View file

@ -136,6 +136,21 @@ func Test_DisableFlagParsing(t *testing.T) {
} }
} }
func TestInitHelpFlagMergesFlags(t *testing.T) {
usage := "custom flag"
baseCmd := Command{Use: "testcmd"}
baseCmd.PersistentFlags().Bool("help", false, usage)
cmd := Command{Use: "do"}
baseCmd.AddCommand(&cmd)
cmd.initHelpFlag()
actual := cmd.Flags().Lookup("help").Usage
if actual != usage {
t.Fatalf("Expected the help flag from the base command with usage '%s', " +
"but got the default with usage '%s'", usage, actual)
}
}
func TestCommandsAreSorted(t *testing.T) { func TestCommandsAreSorted(t *testing.T) {
EnableCommandSorting = true EnableCommandSorting = true