2024-05-17 18:27:26 +08:00
|
|
|
// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
|
2021-11-24 19:46:59 +08:00
|
|
|
|
2022-08-13 23:55:48 +08:00
|
|
|
package utils_test
|
2021-11-24 19:46:59 +08:00
|
|
|
|
2021-12-20 16:20:33 +08:00
|
|
|
import (
|
2024-07-27 14:15:25 +08:00
|
|
|
"testing"
|
|
|
|
|
|
2022-08-13 23:55:48 +08:00
|
|
|
"github.com/TeaOSLab/EdgeAPI/internal/utils"
|
2021-12-20 16:20:33 +08:00
|
|
|
"github.com/iwind/TeaGo/assert"
|
|
|
|
|
)
|
2021-11-24 19:46:59 +08:00
|
|
|
|
|
|
|
|
func TestSplitStrings(t *testing.T) {
|
2022-08-13 23:55:48 +08:00
|
|
|
t.Log(utils.SplitStrings("a, b, c", ","))
|
|
|
|
|
t.Log(utils.SplitStrings("a, b, c, ", ","))
|
2021-11-24 19:46:59 +08:00
|
|
|
}
|
2021-12-20 16:20:33 +08:00
|
|
|
|
|
|
|
|
func TestContainsStringInsensitive(t *testing.T) {
|
|
|
|
|
var a = assert.NewAssertion(t)
|
2022-08-13 23:55:48 +08:00
|
|
|
a.IsTrue(utils.ContainsStringInsensitive([]string{"a", "b", "C"}, "A"))
|
|
|
|
|
a.IsTrue(utils.ContainsStringInsensitive([]string{"a", "b", "C"}, "b"))
|
|
|
|
|
a.IsTrue(utils.ContainsStringInsensitive([]string{"a", "b", "C"}, "c"))
|
|
|
|
|
a.IsFalse(utils.ContainsStringInsensitive([]string{"a", "b", "C"}, "d"))
|
|
|
|
|
}
|
2021-12-20 16:20:33 +08:00
|
|
|
|
2022-08-13 23:55:48 +08:00
|
|
|
func TestSimilar(t *testing.T) {
|
|
|
|
|
t.Log(utils.Similar("", ""))
|
|
|
|
|
t.Log(utils.Similar("", "a"))
|
|
|
|
|
t.Log(utils.Similar("abc", "bcd"))
|
|
|
|
|
t.Log(utils.Similar("efgj", "hijk"))
|
|
|
|
|
t.Log(utils.Similar("efgj", "klmn"))
|
2021-12-20 16:20:33 +08:00
|
|
|
}
|
2022-08-15 15:05:47 +08:00
|
|
|
|
|
|
|
|
func TestLimitString(t *testing.T) {
|
|
|
|
|
var a = assert.NewAssertion(t)
|
|
|
|
|
a.IsTrue(utils.LimitString("", 4) == "")
|
|
|
|
|
a.IsTrue(utils.LimitString("abcd", 0) == "")
|
|
|
|
|
a.IsTrue(utils.LimitString("abcd", 5) == "abcd")
|
|
|
|
|
a.IsTrue(utils.LimitString("abcd", 4) == "abcd")
|
|
|
|
|
a.IsTrue(utils.LimitString("abcd", 3) == "abc")
|
|
|
|
|
a.IsTrue(utils.LimitString("abcd", 1) == "a")
|
|
|
|
|
a.IsTrue(utils.LimitString("中文测试", 1) == "")
|
|
|
|
|
a.IsTrue(utils.LimitString("中文测试", 3) == "中")
|
|
|
|
|
}
|
2023-03-18 11:10:44 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
func TestSplitKeywordArgs(t *testing.T) {
|
|
|
|
|
{
|
|
|
|
|
var keyword = ""
|
|
|
|
|
t.Logf("%+v", utils.SplitKeywordArgs(keyword))
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
var keyword = "abc"
|
|
|
|
|
t.Logf("%+v", utils.SplitKeywordArgs(keyword))
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
var keyword = "abc def ghi123"
|
|
|
|
|
t.Logf("%+v", utils.SplitKeywordArgs(keyword))
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
var keyword = "\"hello world\""
|
|
|
|
|
t.Logf("%+v", utils.SplitKeywordArgs(keyword))
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
var keyword = "\"hello world\" hello \"world\" \"my name\" call:\"zip name\" slash:\\\"SLASH"
|
|
|
|
|
t.Logf("%+v", utils.SplitKeywordArgs(keyword))
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
var keyword = "name:abc"
|
|
|
|
|
t.Logf("%+v", utils.SplitKeywordArgs(keyword))
|
|
|
|
|
}
|
|
|
|
|
}
|