summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/spf13/cast/cast_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/spf13/cast/cast_test.go')
-rw-r--r--vendor/github.com/spf13/cast/cast_test.go32
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{}