diff options
| author | Alex Flint <[email protected]> | 2021-09-18 08:55:40 -0700 |
|---|---|---|
| committer | Alex Flint <[email protected]> | 2021-09-18 08:55:40 -0700 |
| commit | f2f876420ce7c64673cdf97ed8071db8ef46e5f2 (patch) | |
| tree | 8441653724d058566ba492200900a5c6cca84d17 /parse_test.go | |
| parent | 7cc8da61cf3da353167fcc83ad4e751f3c82ec97 (diff) | |
| parent | 66cb696e79be30bc979cb003ef8bdecc78266ced (diff) | |
Merge remote-tracking branch 'origin/master' into usage-for-subcommands
Diffstat (limited to 'parse_test.go')
| -rw-r--r-- | parse_test.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/parse_test.go b/parse_test.go index 695b1d8..284e386 100644 --- a/parse_test.go +++ b/parse_test.go @@ -5,6 +5,7 @@ import ( "fmt" "net" "net/mail" + "net/url" "os" "strings" "testing" @@ -961,6 +962,24 @@ func TestPtrToIP(t *testing.T) { assert.Equal(t, "192.168.0.1", args.Host.String()) } +func TestURL(t *testing.T) { + var args struct { + URL url.URL + } + err := parse("--url https://example.com/get?item=xyz", &args) + require.NoError(t, err) + assert.Equal(t, "https://example.com/get?item=xyz", args.URL.String()) +} + +func TestPtrToURL(t *testing.T) { + var args struct { + URL *url.URL + } + err := parse("--url http://example.com/#xyz", &args) + require.NoError(t, err) + assert.Equal(t, "http://example.com/#xyz", args.URL.String()) +} + func TestIPSlice(t *testing.T) { var args struct { Host []net.IP @@ -1095,6 +1114,29 @@ func TestEmbeddedWithDuplicateField2(t *testing.T) { assert.Equal(t, "", args.U.A) } +func TestUnexportedEmbedded(t *testing.T) { + type embeddedArgs struct { + Foo string + } + var args struct { + embeddedArgs + } + err := parse("--foo bar", &args) + require.NoError(t, err) + assert.Equal(t, "bar", args.Foo) +} + +func TestIgnoredEmbedded(t *testing.T) { + type embeddedArgs struct { + Foo string + } + var args struct { + embeddedArgs `arg:"-"` + } + err := parse("--foo bar", &args) + require.Error(t, err) +} + func TestEmptyArgs(t *testing.T) { origArgs := os.Args |
