github.com/cloudreve/Cloudreve/v3@v3.0.0-20240224133659-3edb00a6484c/pkg/util/common_test.go (about) 1 package util 2 3 import ( 4 "github.com/stretchr/testify/assert" 5 "testing" 6 ) 7 8 func TestRandStringRunes(t *testing.T) { 9 asserts := assert.New(t) 10 11 // 0 长度字符 12 randStr := RandStringRunes(0) 13 asserts.Len(randStr, 0) 14 15 // 16 长度字符 16 randStr = RandStringRunes(16) 17 asserts.Len(randStr, 16) 18 19 // 32 长度字符 20 randStr = RandStringRunes(32) 21 asserts.Len(randStr, 32) 22 23 //相同长度字符 24 sameLenStr1 := RandStringRunes(32) 25 sameLenStr2 := RandStringRunes(32) 26 asserts.NotEqual(sameLenStr1, sameLenStr2) 27 } 28 29 func TestContainsUint(t *testing.T) { 30 asserts := assert.New(t) 31 asserts.True(ContainsUint([]uint{0, 2, 3, 65, 4}, 65)) 32 asserts.True(ContainsUint([]uint{65}, 65)) 33 asserts.False(ContainsUint([]uint{65}, 6)) 34 } 35 36 func TestContainsString(t *testing.T) { 37 asserts := assert.New(t) 38 asserts.True(ContainsString([]string{"", "1"}, "")) 39 asserts.True(ContainsString([]string{"", "1"}, "1")) 40 asserts.False(ContainsString([]string{"", "1"}, " ")) 41 } 42 43 func TestReplace(t *testing.T) { 44 asserts := assert.New(t) 45 46 asserts.Equal("origin", Replace(map[string]string{ 47 "123": "321", 48 }, "origin")) 49 50 asserts.Equal("321origin321", Replace(map[string]string{ 51 "123": "321", 52 }, "123origin123")) 53 asserts.Equal("321new321", Replace(map[string]string{ 54 "123": "321", 55 "origin": "new", 56 }, "123origin123")) 57 } 58 59 func TestBuildRegexp(t *testing.T) { 60 asserts := assert.New(t) 61 62 asserts.Equal("^/dir/", BuildRegexp([]string{"/dir"}, "^", "/", "|")) 63 asserts.Equal("^/dir/|^/dir/di\\*r/", BuildRegexp([]string{"/dir", "/dir/di*r"}, "^", "/", "|")) 64 } 65 66 func TestBuildConcat(t *testing.T) { 67 asserts := assert.New(t) 68 asserts.Equal("CONCAT(1,2)", BuildConcat("1", "2", "mysql")) 69 asserts.Equal("1||2", BuildConcat("1", "2", "sqlite")) 70 } 71 72 func TestSliceDifference(t *testing.T) { 73 asserts := assert.New(t) 74 75 { 76 s1 := []string{"1", "2", "3", "4"} 77 s2 := []string{"2", "4"} 78 asserts.Equal([]string{"1", "3"}, SliceDifference(s1, s2)) 79 } 80 81 { 82 s2 := []string{"1", "2", "3", "4"} 83 s1 := []string{"2", "4"} 84 asserts.Equal([]string{}, SliceDifference(s1, s2)) 85 } 86 87 { 88 s1 := []string{"1", "2", "3", "4"} 89 s2 := []string{"1", "2", "3", "4"} 90 asserts.Equal([]string{}, SliceDifference(s1, s2)) 91 } 92 93 { 94 s1 := []string{"1", "2", "3", "4"} 95 s2 := []string{} 96 asserts.Equal([]string{"1", "2", "3", "4"}, SliceDifference(s1, s2)) 97 } 98 }