summaryrefslogtreecommitdiff
path: root/parse_test.go
diff options
context:
space:
mode:
authorAlex Flint <[email protected]>2021-05-24 21:45:11 -0700
committerAlex Flint <[email protected]>2021-05-24 21:45:11 -0700
commitfa12c02e81bdff1e9c11ee8a70b938b8c02da6b6 (patch)
tree560557982ca2baefcfb6157cb9feece14e6b8663 /parse_test.go
parent679be43af38a865f8318ed9bc3fde7ae424a2dad (diff)
recurse into unexported embedded structs
Diffstat (limited to 'parse_test.go')
-rw-r--r--parse_test.go23
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