Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tpl/inflect/inflect_test.go')
-rw-r--r--tpl/inflect/inflect_test.go56
1 files changed, 56 insertions, 0 deletions
diff --git a/tpl/inflect/inflect_test.go b/tpl/inflect/inflect_test.go
new file mode 100644
index 000000000..028d5d9af
--- /dev/null
+++ b/tpl/inflect/inflect_test.go
@@ -0,0 +1,56 @@
+package inflect
+
+import (
+ "fmt"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+)
+
+func TestNamespace(t *testing.T) {
+ t.Parallel()
+
+ ns := New()
+
+ assert.Equal(t, ns, ns.Namespace(), "object pointers should match")
+}
+
+func TestInflect(t *testing.T) {
+ t.Parallel()
+
+ ns := New()
+
+ for i, test := range []struct {
+ fn func(i interface{}) (string, error)
+ in interface{}
+ expect interface{}
+ }{
+ {ns.Humanize, "MyCamel", "My camel"},
+ {ns.Humanize, "", ""},
+ {ns.Humanize, "103", "103rd"},
+ {ns.Humanize, "41", "41st"},
+ {ns.Humanize, 103, "103rd"},
+ {ns.Humanize, int64(92), "92nd"},
+ {ns.Humanize, "5.5", "5.5"},
+ {ns.Humanize, t, false},
+ {ns.Pluralize, "cat", "cats"},
+ {ns.Pluralize, "", ""},
+ {ns.Pluralize, t, false},
+ {ns.Singularize, "cats", "cat"},
+ {ns.Singularize, "", ""},
+ {ns.Singularize, t, false},
+ } {
+ errMsg := fmt.Sprintf("[%d] %v", i, test)
+
+ result, err := test.fn(test.in)
+
+ if b, ok := test.expect.(bool); ok && !b {
+ require.Error(t, err, errMsg)
+ continue
+ }
+
+ require.NoError(t, err, errMsg)
+ assert.Equal(t, test.expect, result, errMsg)
+ }
+}