hugo

Fork of github.com/gohugoio/hugo with reverse pagination support

git clone git://git.shimmy1996.com/hugo.git

inflect_test.go (1042B)

    1 package inflect
    2 
    3 import (
    4 	"testing"
    5 
    6 	qt "github.com/frankban/quicktest"
    7 )
    8 
    9 func TestInflect(t *testing.T) {
   10 	t.Parallel()
   11 	c := qt.New(t)
   12 
   13 	ns := New()
   14 
   15 	for _, test := range []struct {
   16 		fn     func(i any) (string, error)
   17 		in     any
   18 		expect any
   19 	}{
   20 		{ns.Humanize, "MyCamel", "My camel"},
   21 		{ns.Humanize, "óbito", "Óbito"},
   22 		{ns.Humanize, "", ""},
   23 		{ns.Humanize, "103", "103rd"},
   24 		{ns.Humanize, "41", "41st"},
   25 		{ns.Humanize, 103, "103rd"},
   26 		{ns.Humanize, int64(92), "92nd"},
   27 		{ns.Humanize, "5.5", "5.5"},
   28 		{ns.Humanize, t, false},
   29 		{ns.Humanize, "this is a TEST", "This is a test"},
   30 		{ns.Humanize, "my-first-Post", "My first post"},
   31 		{ns.Pluralize, "cat", "cats"},
   32 		{ns.Pluralize, "", ""},
   33 		{ns.Pluralize, t, false},
   34 		{ns.Singularize, "cats", "cat"},
   35 		{ns.Singularize, "", ""},
   36 		{ns.Singularize, t, false},
   37 	} {
   38 
   39 		result, err := test.fn(test.in)
   40 
   41 		if b, ok := test.expect.(bool); ok && !b {
   42 			c.Assert(err, qt.Not(qt.IsNil))
   43 			continue
   44 		}
   45 
   46 		c.Assert(err, qt.IsNil)
   47 		c.Assert(result, qt.Equals, test.expect)
   48 	}
   49 }