summaryrefslogtreecommitdiff
path: root/parse_test.go
diff options
context:
space:
mode:
authorAlex Flint <[email protected]>2019-05-03 16:32:16 -0700
committerAlex Flint <[email protected]>2019-05-03 16:32:16 -0700
commit990e87d80d9989dd2fbac4db21c8527e1f17cea3 (patch)
tree1f5cb6635feef64b29e41d62cc0e9893d62a9e3d /parse_test.go
parentbd97edec87a0541321c6e2529150e315ee11cd8b (diff)
no need to initialize nil structs during path traversal
Diffstat (limited to 'parse_test.go')
-rw-r--r--parse_test.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/parse_test.go b/parse_test.go
index c2544fd..c18dc16 100644
--- a/parse_test.go
+++ b/parse_test.go
@@ -877,6 +877,26 @@ func TestEmbedded(t *testing.T) {
assert.Equal(t, true, args.Z)
}
+func TestEmbeddedPtr(t *testing.T) {
+ // embedded pointer fields are not supported so this should return an error
+ var args struct {
+ *A
+ }
+ err := parse("--x=hello", &args)
+ require.Error(t, err)
+}
+
+func TestEmbeddedPtrIgnored(t *testing.T) {
+ // embedded pointer fields are not supported but here we
+ var args struct {
+ *A `arg:"-"`
+ B
+ }
+ err := parse("--y=321", &args)
+ require.NoError(t, err)
+ assert.Equal(t, 321, args.Y)
+}
+
func TestEmptyArgs(t *testing.T) {
origArgs := os.Args