diff options
| author | Alex Flint <[email protected]> | 2016-01-23 20:55:40 -0800 |
|---|---|---|
| committer | Alex Flint <[email protected]> | 2016-01-23 20:55:40 -0800 |
| commit | 9a30acda0542a376f35ce2fc0cc166d9ac48c709 (patch) | |
| tree | fdd9f9797bd13951e32b95f39de289ba9bb14a89 /parse_test.go | |
| parent | e389d7f782c50124fbac2f2bbcb4c5794f8e2f44 (diff) | |
added tests for IP address parsing
Diffstat (limited to 'parse_test.go')
| -rw-r--r-- | parse_test.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/parse_test.go b/parse_test.go index a915910..5714ebf 100644 --- a/parse_test.go +++ b/parse_test.go @@ -1,6 +1,7 @@ package arg import ( + "net" "os" "strings" "testing" @@ -541,3 +542,40 @@ func TestSliceUnmarhsaler(t *testing.T) { assert.EqualValues(t, 5, (*args.Foo)[0]) assert.Equal(t, "xyz", args.Bar) } + +func TestIP(t *testing.T) { + var args struct { + Host net.IP + } + err := parse("--host 192.168.0.1", &args) + require.NoError(t, err) + assert.Equal(t, "192.168.0.1", args.Host.String()) +} + +func TestPtrToIP(t *testing.T) { + var args struct { + Host *net.IP + } + err := parse("--host 192.168.0.1", &args) + require.NoError(t, err) + assert.Equal(t, "192.168.0.1", args.Host.String()) +} + +func TestIPSlice(t *testing.T) { + var args struct { + Host []net.IP + } + err := parse("--host 192.168.0.1 127.0.0.1", &args) + require.NoError(t, err) + require.Len(t, args.Host, 2) + assert.Equal(t, "192.168.0.1", args.Host[0].String()) + assert.Equal(t, "127.0.0.1", args.Host[1].String()) +} + +func TestInvalidIPAddress(t *testing.T) { + var args struct { + Host net.IP + } + err := parse("--host xxx", &args) + assert.Error(t, err) +} |
