Skip to content

Commit

Permalink
add test for help and usage when a --version flag is present
Browse files Browse the repository at this point in the history
  • Loading branch information
alexflint committed Apr 2, 2024
1 parent 68948b2 commit 3ddfffd
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions usage_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,39 @@ Options:
assert.Equal(t, expectedUsage, strings.TrimSpace(usage.String()))
}

type userDefinedVersionFlag struct {
ShowVersion bool `arg:"--version" help:"this is a user-defined version flag"`
}

// Version returns the version for this program
func (userDefinedVersionFlag) Version() string {
return "example 3.2.1"
}

func TestUsageWithUserDefinedVersionFlag(t *testing.T) {
expectedUsage := "example 3.2.1\nUsage: example [--version]"

expectedHelp := `
example 3.2.1
Usage: example [--version]
Options:
--version this is a user-defined version flag
--help, -h display this help and exit
`
os.Args[0] = "example"
p, err := NewParser(Config{}, &userDefinedVersionFlag{})
require.NoError(t, err)

var help bytes.Buffer
p.WriteHelp(&help)
assert.Equal(t, expectedHelp[1:], help.String())

var usage bytes.Buffer
p.WriteUsage(&usage)
assert.Equal(t, expectedUsage, strings.TrimSpace(usage.String()))
}

type described struct{}

// Described returns the description for this program
Expand Down

0 comments on commit 3ddfffd

Please sign in to comment.