diff options
| author | Alex Flint <[email protected]> | 2016-01-23 18:28:35 -0800 |
|---|---|---|
| committer | Alex Flint <[email protected]> | 2016-01-23 18:28:35 -0800 |
| commit | ed2b19f2bbf787a888bf02eb707a17f4878f4109 (patch) | |
| tree | 5fdbfa4ce77fba0bb28270ec0bec41050de45213 /parse_test.go | |
| parent | e560d079baf3881884b897c4cc5850675aad7c15 (diff) | |
add support for time.Duration fields
Diffstat (limited to 'parse_test.go')
| -rw-r--r-- | parse_test.go | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/parse_test.go b/parse_test.go index f3e7350..5e9baf2 100644 --- a/parse_test.go +++ b/parse_test.go @@ -4,6 +4,7 @@ import ( "os" "strings" "testing" + "time" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -17,7 +18,7 @@ func parse(cmdline string, dest interface{}) error { return p.Parse(strings.Split(cmdline, " ")) } -func TestStringSingle(t *testing.T) { +func TestString(t *testing.T) { var args struct { Foo string } @@ -26,6 +27,42 @@ func TestStringSingle(t *testing.T) { assert.Equal(t, "bar", args.Foo) } +func TestInt(t *testing.T) { + var args struct { + Foo int + } + err := parse("--foo 7", &args) + require.NoError(t, err) + assert.EqualValues(t, 7, args.Foo) +} + +func TestUint(t *testing.T) { + var args struct { + Foo uint + } + err := parse("--foo 7", &args) + require.NoError(t, err) + assert.EqualValues(t, 7, args.Foo) +} + +func TestFloat(t *testing.T) { + var args struct { + Foo float32 + } + err := parse("--foo 3.4", &args) + require.NoError(t, err) + assert.EqualValues(t, 3.4, args.Foo) +} + +func TestDuration(t *testing.T) { + var args struct { + Foo time.Duration + } + err := parse("--foo 3ms", &args) + require.NoError(t, err) + assert.Equal(t, 3*time.Millisecond, args.Foo) +} + func TestMixed(t *testing.T) { var args struct { Foo string `arg:"-f"` |
