summaryrefslogtreecommitdiff
path: root/funcs/test_test.go
diff options
context:
space:
mode:
authorDave Henderson <dhenderson@gmail.com>2024-01-25 20:11:31 -0500
committerGitHub <noreply@github.com>2024-01-25 20:11:31 -0500
commitebb97fb7367fb983cffc1935a8fb57e4b80f5249 (patch)
tree43ef6cd01f629f60f59efe1e5b003f7c8e3a1257 /funcs/test_test.go
parentf1d9158ea99abbe556251c1ff2fe970f3b460ee9 (diff)
Move funcs package to internal (#1977)
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'funcs/test_test.go')
-rw-r--r--funcs/test_test.go174
1 files changed, 0 insertions, 174 deletions
diff --git a/funcs/test_test.go b/funcs/test_test.go
deleted file mode 100644
index 26909813..00000000
--- a/funcs/test_test.go
+++ /dev/null
@@ -1,174 +0,0 @@
-package funcs
-
-import (
- "context"
- "strconv"
- "testing"
-
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
-)
-
-func TestCreateTestFuncs(t *testing.T) {
- t.Parallel()
-
- for i := 0; i < 10; i++ {
- // Run this a bunch to catch race conditions
- t.Run(strconv.Itoa(i), func(t *testing.T) {
- t.Parallel()
-
- ctx := context.Background()
- fmap := CreateTestFuncs(ctx)
- actual := fmap["test"].(func() interface{})
-
- assert.Equal(t, ctx, actual().(*TestFuncs).ctx)
- })
- }
-}
-
-func TestAssert(t *testing.T) {
- t.Parallel()
-
- f := TestNS()
- _, err := f.Assert(false)
- assert.Error(t, err)
-
- _, err = f.Assert(true)
- require.NoError(t, err)
-
- _, err = f.Assert("foo", true)
- require.NoError(t, err)
-
- _, err = f.Assert("foo", "false")
- assert.EqualError(t, err, "assertion failed: foo")
-}
-
-func TestRequired(t *testing.T) {
- t.Parallel()
-
- f := TestNS()
- errMsg := "can not render template: a required value was not set"
- v, err := f.Required("")
- assert.Error(t, err)
- assert.EqualError(t, err, errMsg)
- assert.Nil(t, v)
-
- v, err = f.Required(nil)
- assert.Error(t, err)
- assert.EqualError(t, err, errMsg)
- assert.Nil(t, v)
-
- errMsg = "hello world"
- v, err = f.Required(errMsg, nil)
- assert.Error(t, err)
- assert.EqualError(t, err, errMsg)
- assert.Nil(t, v)
-
- v, err = f.Required(42, nil)
- assert.Error(t, err)
- assert.EqualError(t, err, "at <1>: expected string; found int")
- assert.Nil(t, v)
-
- v, err = f.Required()
- assert.Error(t, err)
- assert.EqualError(t, err, "wrong number of args: want 1 or 2, got 0")
- assert.Nil(t, v)
-
- v, err = f.Required("", 2, 3)
- assert.Error(t, err)
- assert.EqualError(t, err, "wrong number of args: want 1 or 2, got 3")
- assert.Nil(t, v)
-
- v, err = f.Required(0)
- require.NoError(t, err)
- assert.Equal(t, v, 0)
-
- v, err = f.Required("foo")
- require.NoError(t, err)
- assert.Equal(t, v, "foo")
-}
-
-func TestTernary(t *testing.T) {
- t.Parallel()
-
- f := TestNS()
- testdata := []struct {
- tval, fval, b interface{}
- expected interface{}
- }{
- {"foo", 42, false, 42},
- {"foo", 42, "yes", "foo"},
- {false, true, true, false},
- }
- for _, d := range testdata {
- assert.Equal(t, d.expected, f.Ternary(d.tval, d.fval, d.b))
- }
-}
-
-func TestKind(t *testing.T) {
- t.Parallel()
-
- f := TestNS()
- testdata := []struct {
- arg interface{}
- expected string
- }{
- {"foo", "string"},
- {nil, "invalid"},
- {false, "bool"},
- {[]string{"foo", "bar"}, "slice"},
- {map[string]string{"foo": "bar"}, "map"},
- {42, "int"},
- {42.0, "float64"},
- {uint(42), "uint"},
- {struct{}{}, "struct"},
- }
- for _, d := range testdata {
- assert.Equal(t, d.expected, f.Kind(d.arg))
- }
-}
-
-func TestIsKind(t *testing.T) {
- t.Parallel()
-
- f := TestNS()
- truedata := []struct {
- arg interface{}
- kind string
- }{
- {"foo", "string"},
- {nil, "invalid"},
- {false, "bool"},
- {[]string{"foo", "bar"}, "slice"},
- {map[string]string{"foo": "bar"}, "map"},
- {42, "int"},
- {42.0, "float64"},
- {uint(42), "uint"},
- {struct{}{}, "struct"},
- {42.0, "number"},
- {42, "number"},
- {uint32(64000), "number"},
- {complex128(64000), "number"},
- }
- for _, d := range truedata {
- assert.True(t, f.IsKind(d.kind, d.arg))
- }
-
- falsedata := []struct {
- arg interface{}
- kind string
- }{
- {"foo", "bool"},
- {nil, "struct"},
- {false, "string"},
- {[]string{"foo", "bar"}, "map"},
- {map[string]string{"foo": "bar"}, "int"},
- {42, "int64"},
- {42.0, "float32"},
- {uint(42), "int"},
- {struct{}{}, "interface"},
- }
- for _, d := range falsedata {
- assert.False(t, f.IsKind(d.kind, d.arg))
- }
-}