diff options
| author | Alex Flint <[email protected]> | 2015-11-04 09:47:58 -0800 |
|---|---|---|
| committer | Alex Flint <[email protected]> | 2015-11-04 09:47:58 -0800 |
| commit | 9111061915102e12f0e3481c3bf88aa23a3d7324 (patch) | |
| tree | 9ace7877b43e833479ee523ee76043eb59d8b58b /usage_test.go | |
| parent | 3bcc30f8fefe10a730e0df3a30ce1eb3c54b0861 (diff) | |
add tests for usage info
Diffstat (limited to 'usage_test.go')
| -rw-r--r-- | usage_test.go | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/usage_test.go b/usage_test.go new file mode 100644 index 0000000..6b8741d --- /dev/null +++ b/usage_test.go @@ -0,0 +1,46 @@ +package arg + +import ( + "bytes" + "os" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestWriteUsage(t *testing.T) { + expectedUsage := "usage: example [--verbose] [--dataset DATASET] [--optimize OPTIMIZE] INPUT [OUTPUT [OUTPUT ...]] \n" + + expectedHelp := `usage: example [--verbose] [--dataset DATASET] [--optimize OPTIMIZE] INPUT [OUTPUT [OUTPUT ...]] + +positional arguments: + input + output + +options: + --verbose, -v verbosity level + --dataset DATASET dataset to use + --optimize OPTIMIZE, -O OPTIMIZE + optimization level +` + var args struct { + Input string `arg:"positional"` + Output []string `arg:"positional"` + Verbose bool `arg:"-v,help:verbosity level"` + Dataset string `arg:"help:dataset to use"` + Optimize int `arg:"-O,help:optimization level"` + } + p, err := NewParser(&args) + require.NoError(t, err) + + os.Args[0] = "example" + + var usage bytes.Buffer + p.WriteUsage(&usage) + assert.Equal(t, expectedUsage, usage.String()) + + var help bytes.Buffer + p.WriteHelp(&help) + assert.Equal(t, expectedHelp, help.String()) +} |
