diff options
| author | Alex Flint <[email protected]> | 2017-03-30 14:10:29 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-03-30 14:10:29 -0700 |
| commit | cef6506c97e5731da728c374ff3523e481026423 (patch) | |
| tree | a62391d9019589f6fbc7ab44e74a47f1fd7daf8f /parse_test.go | |
| parent | 8111804d1774e2f9e2f7f734a15d2fb9ca684685 (diff) | |
| parent | 992acaf408ea8b884c7e62b990aba6c11c1715bc (diff) | |
Merge pull request #54 from k3a/master
Required multiple positionals
Diffstat (limited to 'parse_test.go')
| -rw-r--r-- | parse_test.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/parse_test.go b/parse_test.go index 267e57c..a646f2b 100644 --- a/parse_test.go +++ b/parse_test.go @@ -250,6 +250,15 @@ func TestRequiredPositional(t *testing.T) { assert.Error(t, err) } +func TestRequiredPositionalMultiple(t *testing.T) { + var args struct { + Input string `arg:"positional"` + Multiple []string `arg:"positional,required"` + } + err := parse("foo", &args) + assert.Error(t, err) +} + func TestTooManyPositional(t *testing.T) { var args struct { Input string `arg:"positional"` @@ -270,6 +279,17 @@ func TestMultiple(t *testing.T) { assert.Equal(t, []string{"x", "y", "z"}, args.Bar) } +func TestMultiplePositionals(t *testing.T) { + var args struct { + Input string `arg:"positional"` + Multiple []string `arg:"positional,required"` + } + err := parse("foo a b c", &args) + assert.NoError(t, err) + assert.Equal(t, "foo", args.Input) + assert.Equal(t, []string{"a", "b", "c"}, args.Multiple) +} + func TestMultipleWithEq(t *testing.T) { var args struct { Foo []int @@ -321,6 +341,14 @@ func TestMissingRequired(t *testing.T) { assert.Error(t, err) } +func TestMissingRequiredMultiplePositional(t *testing.T) { + var args struct { + X []string `arg:"positional, required"` + } + err := parse("x", &args) + assert.Error(t, err) +} + func TestMissingValue(t *testing.T) { var args struct { Foo string |
