summaryrefslogtreecommitdiff
path: root/parse_test.go
diff options
context:
space:
mode:
authorAlex Flint <[email protected]>2018-04-18 21:23:08 -0700
committerAlex Flint <[email protected]>2018-04-18 21:23:08 -0700
commit6f2f3b4bf6c3fb40a0d2200ce6affee56cf781d8 (patch)
tree01193607c5537c7cd327a71358d212fb0cc52175 /parse_test.go
parentb1eda2c7b64c118d56472c1944054bf9235d6c48 (diff)
drop setScalar
Diffstat (limited to 'parse_test.go')
-rw-r--r--parse_test.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/parse_test.go b/parse_test.go
index 925a23e..ce3ad34 100644
--- a/parse_test.go
+++ b/parse_test.go
@@ -599,6 +599,19 @@ func TestTextUnmarshaler(t *testing.T) {
assert.Equal(t, 3, args.Foo.val)
}
+func TestRepeatedTextUnmarshaler(t *testing.T) {
+ // fields that implement TextUnmarshaler should be parsed using that interface
+ var args struct {
+ Foo []*textUnmarshaler
+ }
+ err := parse("--foo abc d ef", &args)
+ require.NoError(t, err)
+ require.Len(t, args.Foo, 3)
+ assert.Equal(t, 3, args.Foo[0].val)
+ assert.Equal(t, 1, args.Foo[1].val)
+ assert.Equal(t, 2, args.Foo[2].val)
+}
+
type boolUnmarshaler bool
func (p *boolUnmarshaler) UnmarshalText(b []byte) error {