mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 15:51:54 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			81 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package utils_test
 | 
						||
 | 
						||
import (
 | 
						||
	"github.com/TeaOSLab/EdgeNode/internal/utils"
 | 
						||
	"github.com/iwind/TeaGo/assert"
 | 
						||
	"github.com/iwind/TeaGo/types"
 | 
						||
	"strings"
 | 
						||
	"testing"
 | 
						||
)
 | 
						||
 | 
						||
func TestBytesToString(t *testing.T) {
 | 
						||
	t.Log(utils.UnsafeBytesToString([]byte("Hello,World")))
 | 
						||
}
 | 
						||
 | 
						||
func TestStringToBytes(t *testing.T) {
 | 
						||
	t.Log(string(utils.UnsafeStringToBytes("Hello,World")))
 | 
						||
}
 | 
						||
 | 
						||
func BenchmarkBytesToString(b *testing.B) {
 | 
						||
	var data = []byte("Hello,World")
 | 
						||
	for i := 0; i < b.N; i++ {
 | 
						||
		_ = utils.UnsafeBytesToString(data)
 | 
						||
	}
 | 
						||
}
 | 
						||
 | 
						||
func BenchmarkBytesToString2(b *testing.B) {
 | 
						||
	var data = []byte("Hello,World")
 | 
						||
	for i := 0; i < b.N; i++ {
 | 
						||
		_ = string(data)
 | 
						||
	}
 | 
						||
}
 | 
						||
 | 
						||
func BenchmarkStringToBytes(b *testing.B) {
 | 
						||
	var s = strings.Repeat("Hello,World", 1024)
 | 
						||
	for i := 0; i < b.N; i++ {
 | 
						||
		_ = utils.UnsafeStringToBytes(s)
 | 
						||
	}
 | 
						||
}
 | 
						||
 | 
						||
func BenchmarkStringToBytes2(b *testing.B) {
 | 
						||
	var s = strings.Repeat("Hello,World", 1024)
 | 
						||
	for i := 0; i < b.N; i++ {
 | 
						||
		_ = []byte(s)
 | 
						||
	}
 | 
						||
}
 | 
						||
 | 
						||
func TestFormatAddress(t *testing.T) {
 | 
						||
	t.Log(utils.FormatAddress("127.0.0.1:1234"))
 | 
						||
	t.Log(utils.FormatAddress("127.0.0.1 : 1234"))
 | 
						||
	t.Log(utils.FormatAddress("127.0.0.1:1234"))
 | 
						||
}
 | 
						||
 | 
						||
func TestFormatAddressList(t *testing.T) {
 | 
						||
	t.Log(utils.FormatAddressList([]string{
 | 
						||
		"127.0.0.1:1234",
 | 
						||
		"127.0.0.1 : 1234",
 | 
						||
		"127.0.0.1:1234",
 | 
						||
	}))
 | 
						||
}
 | 
						||
 | 
						||
func TestContainsSameStrings(t *testing.T) {
 | 
						||
	var a = assert.NewAssertion(t)
 | 
						||
	a.IsFalse(utils.EqualStrings([]string{"a"}, []string{"b"}))
 | 
						||
	a.IsFalse(utils.EqualStrings([]string{"a", "b"}, []string{"b"}))
 | 
						||
	a.IsFalse(utils.EqualStrings([]string{"a", "b"}, []string{"a", "b", "c"}))
 | 
						||
	a.IsTrue(utils.EqualStrings([]string{"a", "b"}, []string{"a", "b"}))
 | 
						||
	a.IsTrue(utils.EqualStrings([]string{"a", "b"}, []string{"b", "a"}))
 | 
						||
}
 | 
						||
 | 
						||
func TestToValidUTF8string(t *testing.T) {
 | 
						||
	for _, s := range []string{
 | 
						||
		"https://goedge.cn/",
 | 
						||
		"提升mysql数据表写入速度",
 | 
						||
		"😆",
 | 
						||
		string([]byte{'a', 'b', 130, 131, 132, 133, 134, 'c'}),
 | 
						||
	} {
 | 
						||
		var u = utils.ToValidUTF8string(s)
 | 
						||
		t.Log(s, "["+types.String(len(s))+"]", "=>", u, "["+types.String(len(u))+"]")
 | 
						||
	}
 | 
						||
}
 |