Skip to content

Commit

Permalink
Merge pull request #1153 from Irioth/master
Browse files Browse the repository at this point in the history
Bugfix: Remove version flag from commands with subcommands
  • Loading branch information
coilysiren committed Jun 23, 2020
2 parents 4f74020 + ef2d047 commit 9047f3b
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 1 deletion.
2 changes: 1 addition & 1 deletion command.go
Expand Up @@ -241,7 +241,7 @@ func (c *Command) startApp(ctx *Context) error {
app.HideHelpCommand = c.HideHelpCommand

app.Version = ctx.App.Version
app.HideVersion = ctx.App.HideVersion
app.HideVersion = true
app.Compiled = ctx.App.Compiled
app.Writer = ctx.App.Writer
app.ErrWriter = ctx.App.ErrWriter
Expand Down
45 changes: 45 additions & 0 deletions command_test.go
Expand Up @@ -377,3 +377,48 @@ func TestCommand_Run_CustomShellCompleteAcceptsMalformedFlags(t *testing.T) {
}

}

func TestCommand_NoVersionFlagOnCommands(t *testing.T) {
app := &App{
Version: "some version",
Commands: []*Command{
{
Name: "bar",
Usage: "this is for testing",
Subcommands: []*Command{{}}, // some subcommand
HideHelp: true,
Action: func(c *Context) error {
if len(c.App.VisibleFlags()) != 0 {
t.Fatal("unexpected flag on command")
}
return nil
},
},
},
}

err := app.Run([]string{"foo", "bar"})
expect(t, err, nil)
}

func TestCommand_CanAddVFlagOnCommands(t *testing.T) {
app := &App{
Version: "some version",
Writer: ioutil.Discard,
Commands: []*Command{
{
Name: "bar",
Usage: "this is for testing",
Subcommands: []*Command{{}}, // some subcommand
Flags: []Flag{
&BoolFlag{
Name: "v",
},
},
},
},
}

err := app.Run([]string{"foo", "bar"})
expect(t, err, nil)
}

0 comments on commit 9047f3b

Please sign in to comment.