123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- package stringx
- import (
- "testing"
- "github.com/stretchr/testify/assert"
- )
- func TestString_IsEmptyOrSpace(t *testing.T) {
- cases := []struct {
- input string
- want bool
- }{
- {
- want: true,
- },
- {
- input: " ",
- want: true,
- },
- {
- input: "\t",
- want: true,
- },
- {
- input: "\n",
- want: true,
- },
- {
- input: "\f",
- want: true,
- },
- {
- input: " ",
- want: true,
- },
- }
- for _, v := range cases {
- s := From(v.input)
- assert.Equal(t, v.want, s.IsEmptyOrSpace())
- }
- }
- func TestString_Snake2Camel(t *testing.T) {
- cases := []struct {
- input string
- want string
- }{
- {
- input: "__",
- want: "",
- },
- {
- input: "go_zero",
- want: "GoZero",
- },
- {
- input: "の_go_zero",
- want: "のGoZero",
- },
- {
- input: "goZero",
- want: "GoZero",
- },
- {
- input: "goZero",
- want: "GoZero",
- },
- {
- input: "goZero_",
- want: "GoZero",
- },
- {
- input: "go_Zero_",
- want: "GoZero",
- },
- {
- input: "_go_Zero_",
- want: "GoZero",
- },
- }
- for _, c := range cases {
- ret := From(c.input).ToCamel()
- assert.Equal(t, c.want, ret)
- }
- }
- func TestString_Camel2Snake(t *testing.T) {
- cases := []struct {
- input string
- want string
- }{
- {
- input: "goZero",
- want: "go_zero",
- },
- {
- input: "Gozero",
- want: "gozero",
- },
- {
- input: "GoZero",
- want: "go_zero",
- },
- {
- input: "Go_Zero",
- want: "go__zero",
- },
- }
- for _, c := range cases {
- ret := From(c.input).ToSnake()
- assert.Equal(t, c.want, ret)
- }
- }
- func TestTitle(t *testing.T) {
- cases := []struct {
- input string
- want string
- }{
- {
- input: "go zero",
- want: "Go Zero",
- },
- {
- input: "goZero",
- want: "GoZero",
- },
- {
- input: "GoZero",
- want: "GoZero",
- },
- {
- input: "の go zero",
- want: "の Go Zero",
- },
- {
- input: "Gozero",
- want: "Gozero",
- },
- {
- input: "Go_zero",
- want: "Go_zero",
- },
- {
- input: "go_zero",
- want: "Go_zero",
- },
- {
- input: "Go_Zero",
- want: "Go_Zero",
- },
- }
- for _, c := range cases {
- ret := From(c.input).Title()
- assert.Equal(t, c.want, ret)
- }
- }
- func TestUntitle(t *testing.T) {
- cases := []struct {
- input string
- want string
- }{
- {
- input: "go zero",
- want: "go zero",
- },
- {
- input: "GoZero",
- want: "goZero",
- },
- {
- input: "Gozero",
- want: "gozero",
- },
- {
- input: "Go_zero",
- want: "go_zero",
- },
- {
- input: "go_zero",
- want: "go_zero",
- },
- {
- input: "Go_Zero",
- want: "go_Zero",
- },
- }
- for _, c := range cases {
- ret := From(c.input).Untitle()
- assert.Equal(t, c.want, ret)
- }
- }
|