Files
EdgeNode/internal/utils/path_test.go
GoEdgeLab c19be78e0d v1.4.1
2024-07-27 15:42:50 +08:00

30 lines
737 B
Go

package utils
import (
"testing"
"github.com/iwind/TeaGo/assert"
)
func TestCleanPath(t *testing.T) {
a := assert.NewAssertion(t)
a.IsTrue(CleanPath("") == "/")
a.IsTrue(CleanPath("/hello/world") == "/hello/world")
a.IsTrue(CleanPath("\\hello\\world") == "/hello/world")
a.IsTrue(CleanPath("/\\hello\\//world") == "/hello/world")
a.IsTrue(CleanPath("hello/world") == "/hello/world")
a.IsTrue(CleanPath("/hello////world") == "/hello/world")
}
func TestCleanPath_Args(t *testing.T) {
a := assert.NewAssertion(t)
a.IsTrue(CleanPath("/hello/world?base=///////") == "/hello/world?base=///////")
}
func BenchmarkCleanPath(b *testing.B) {
for i := 0; i < b.N; i++ {
_ = CleanPath("/hello///world/very/long/very//long")
}
}