mirror of
https://github.com/zeromicro/go-zero.git
synced 2026-05-08 23:50:00 +08:00
Optimize slicing operations (#4877)
This commit is contained in:
@@ -192,3 +192,131 @@ func TestUntitle(t *testing.T) {
|
||||
assert.Equal(t, c.want, ret)
|
||||
}
|
||||
}
|
||||
|
||||
func TestContainsAny(t *testing.T) {
|
||||
type args struct {
|
||||
s string
|
||||
runes []rune
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
want bool
|
||||
}{
|
||||
{
|
||||
name: "runes is empty",
|
||||
args: args{
|
||||
s: "test",
|
||||
runes: []rune{},
|
||||
},
|
||||
want: true,
|
||||
},
|
||||
{
|
||||
name: "s is empty and runes is not empty",
|
||||
args: args{
|
||||
s: "",
|
||||
runes: []rune{'a', 'b', 'c'},
|
||||
},
|
||||
want: false,
|
||||
},
|
||||
{
|
||||
name: "s contains runes",
|
||||
args: args{
|
||||
s: "hello",
|
||||
runes: []rune{'e', 'f'},
|
||||
},
|
||||
want: true,
|
||||
},
|
||||
{
|
||||
name: "s does not contain runes",
|
||||
args: args{
|
||||
s: "hello",
|
||||
runes: []rune{'x', 'y'},
|
||||
},
|
||||
want: false,
|
||||
},
|
||||
{
|
||||
name: "s and runes both have one matching character",
|
||||
args: args{
|
||||
s: "a",
|
||||
runes: []rune{'a'},
|
||||
},
|
||||
want: true,
|
||||
},
|
||||
{
|
||||
name: "s and runes both have one non-matching character",
|
||||
args: args{
|
||||
s: "a",
|
||||
runes: []rune{'b'},
|
||||
},
|
||||
want: false,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert.Equalf(t, tt.want, ContainsAny(tt.args.s, tt.args.runes...), "ContainsAny(%v, %v)", tt.args.s, tt.args.runes)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestContainsWhiteSpace(t *testing.T) {
|
||||
type args struct {
|
||||
s string
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
want bool
|
||||
}{
|
||||
{
|
||||
name: "contains space",
|
||||
args: args{s: "hello world"},
|
||||
want: true,
|
||||
},
|
||||
{
|
||||
name: "contains newline",
|
||||
args: args{s: "hello\nworld"},
|
||||
want: true,
|
||||
},
|
||||
{
|
||||
name: "contains tab",
|
||||
args: args{s: "hello\tworld"},
|
||||
want: true,
|
||||
},
|
||||
{
|
||||
name: "contains form feed",
|
||||
args: args{s: "hello\fworld"},
|
||||
want: true,
|
||||
},
|
||||
{
|
||||
name: "contains vertical tab",
|
||||
args: args{s: "hello\vworld"},
|
||||
want: true,
|
||||
},
|
||||
{
|
||||
name: "no whitespace",
|
||||
args: args{s: "helloworld"},
|
||||
want: false,
|
||||
},
|
||||
{
|
||||
name: "empty string",
|
||||
args: args{s: ""},
|
||||
want: false,
|
||||
},
|
||||
{
|
||||
name: "only whitespace",
|
||||
args: args{s: " \t\n\f\v"},
|
||||
want: true,
|
||||
},
|
||||
{
|
||||
name: "contains non-standard whitespace",
|
||||
args: args{s: "hello\u00A0world"},
|
||||
want: false,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert.Equalf(t, tt.want, ContainsWhiteSpace(tt.args.s), "ContainsWhiteSpace(%v)", tt.args.s)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user