diff options
Diffstat (limited to 'vendor/github.com/spf13/cast/cast_test.go')
-rw-r--r-- | vendor/github.com/spf13/cast/cast_test.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/vendor/github.com/spf13/cast/cast_test.go b/vendor/github.com/spf13/cast/cast_test.go index 2bb8c5f54..404fe7680 100644 --- a/vendor/github.com/spf13/cast/cast_test.go +++ b/vendor/github.com/spf13/cast/cast_test.go @@ -975,6 +975,38 @@ func TestToStringSliceE(t *testing.T) { } } +func TestToDurationSliceE(t *testing.T) { + tests := []struct { + input interface{} + expect []time.Duration + iserr bool + }{ + {[]string{"1s", "1m"}, []time.Duration{time.Second, time.Minute}, false}, + {[]int{1, 2}, []time.Duration{1, 2}, false}, + {[]interface{}{1, 3}, []time.Duration{1, 3}, false}, + // errors + {nil, nil, true}, + {testing.T{}, nil, true}, + } + + for i, test := range tests { + errmsg := fmt.Sprintf("i = %d", i) // assert helper message + + v, err := ToDurationSliceE(test.input) + if test.iserr { + assert.Error(t, err, errmsg) + continue + } + + assert.NoError(t, err, errmsg) + assert.Equal(t, test.expect, v, errmsg) + + // Non-E test + v = ToDurationSlice(test.input) + assert.Equal(t, test.expect, v, errmsg) + } +} + func TestToBoolE(t *testing.T) { tests := []struct { input interface{} |