Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

optimize(goctl): Add more test #2692

Merged
merged 1 commit into from Dec 12, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Binary file added tools/goctl/goctl.zip
Binary file not shown.
200 changes: 160 additions & 40 deletions tools/goctl/util/stringx/string_test.go
Expand Up @@ -7,68 +7,188 @@ import (
)

func TestString_IsEmptyOrSpace(t *testing.T) {
ret := From(" ").IsEmptyOrSpace()
assert.Equal(t, true, ret)
ret2 := From("ll??").IsEmptyOrSpace()
assert.Equal(t, false, ret2)
ret3 := From(`
`).IsEmptyOrSpace()
assert.Equal(t, true, ret3)
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) {
ret := From("____this_is_snake").ToCamel()
assert.Equal(t, "ThisIsSnake", ret)

ret2 := From("测试_test_Data").ToCamel()
assert.Equal(t, "测试TestData", ret2)

ret3 := From("___").ToCamel()
assert.Equal(t, "", ret3)

ret4 := From("testData_").ToCamel()
assert.Equal(t, "TestData", ret4)

ret5 := From("testDataTestData").ToCamel()
assert.Equal(t, "TestDataTestData", ret5)
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) {
ret := From("ThisIsCCCamel").ToSnake()
assert.Equal(t, "this_is_c_c_camel", ret)

ret2 := From("测试Test_Data_test_data").ToSnake()
assert.Equal(t, "测试_test__data_test_data", ret2)
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 {
src string
exec string
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
}{
{
src: "hello world!",
exec: "Hello World!",
input: "go zero",
want: "go zero",
},
{
input: "GoZero",
want: "goZero",
},
{
src: "go zero",
exec: "Go Zero",
input: "Gozero",
want: "gozero",
},
{
src: "goZero",
exec: "GoZero",
input: "Go_zero",
want: "go_zero",
},
{
src: "GoZero",
exec: "GoZero",
input: "go_zero",
want: "go_zero",
},
{
src: "测试this is data",
exec: "测试This Is Data",
input: "Go_Zero",
want: "go_Zero",
},
}
for _, c := range cases {
ret := From(c.src).Title()
assert.Equal(t, c.exec, ret)
ret := From(c.input).Untitle()
assert.Equal(t, c.want, ret)
}
}