diff options
| author | Alex Flint <[email protected]> | 2021-05-24 21:50:33 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-05-24 21:50:33 -0700 |
| commit | eb0393e9bc0bbd8d3cc37a6ee98c1d538e4e5c91 (patch) | |
| tree | 560557982ca2baefcfb6157cb9feece14e6b8663 /parse_test.go | |
| parent | 679be43af38a865f8318ed9bc3fde7ae424a2dad (diff) | |
| parent | fa12c02e81bdff1e9c11ee8a70b938b8c02da6b6 (diff) | |
Merge pull request #158 from alexflint/unexported-embeddedv1.4.2
Recurse into unexported embedded structs
Diffstat (limited to 'parse_test.go')
| -rw-r--r-- | parse_test.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/parse_test.go b/parse_test.go index 695b1d8..e78b4d4 100644 --- a/parse_test.go +++ b/parse_test.go @@ -1095,6 +1095,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 |
