Improved performance
This commit is contained in:
parent
a7d64037a7
commit
b04aadea09
7 changed files with 77 additions and 60 deletions
|
@ -9,6 +9,20 @@ import (
|
|||
"git.akyoto.dev/go/router/testdata"
|
||||
)
|
||||
|
||||
func TestHello(t *testing.T) {
|
||||
r := router.New[string]()
|
||||
r.Add("GET", "/blog", "Blog")
|
||||
r.Add("GET", "/blog/post", "Blog post")
|
||||
|
||||
data, params := r.Lookup("GET", "/blog")
|
||||
assert.Equal(t, len(params), 0)
|
||||
assert.Equal(t, data, "Blog")
|
||||
|
||||
data, params = r.Lookup("GET", "/blog/post")
|
||||
assert.Equal(t, len(params), 0)
|
||||
assert.Equal(t, data, "Blog post")
|
||||
}
|
||||
|
||||
func TestStatic(t *testing.T) {
|
||||
r := router.New[string]()
|
||||
r.Add("GET", "/hello", "Hello")
|
||||
|
@ -61,11 +75,12 @@ func TestParameter(t *testing.T) {
|
|||
func TestWildcard(t *testing.T) {
|
||||
r := router.New[string]()
|
||||
r.Add("GET", "/", "Front page")
|
||||
r.Add("GET", "/:post", "Blog post")
|
||||
r.Add("GET", "/*any", "Wildcard")
|
||||
r.Add("GET", "/users/:id", "Parameter")
|
||||
r.Add("GET", "/images/static", "Static")
|
||||
r.Add("GET", "/images/*path", "Wildcard")
|
||||
r.Add("GET", "/:post", "Blog post")
|
||||
r.Add("GET", "/*any", "Wildcard")
|
||||
r.Add("GET", "*root", "Root wildcard")
|
||||
|
||||
data, params := r.Lookup("GET", "/")
|
||||
assert.Equal(t, len(params), 0)
|
||||
|
@ -107,6 +122,12 @@ func TestWildcard(t *testing.T) {
|
|||
assert.Equal(t, params[0].Key, "path")
|
||||
assert.Equal(t, params[0].Value, "favicon/256.png")
|
||||
assert.Equal(t, data, "Wildcard")
|
||||
|
||||
data, params = r.Lookup("GET", "not-a-path")
|
||||
assert.Equal(t, len(params), 1)
|
||||
assert.Equal(t, params[0].Key, "root")
|
||||
assert.Equal(t, params[0].Value, "not-a-path")
|
||||
assert.Equal(t, data, "Root wildcard")
|
||||
}
|
||||
|
||||
func TestMap(t *testing.T) {
|
||||
|
@ -115,6 +136,7 @@ func TestMap(t *testing.T) {
|
|||
r.Add("GET", "/world", "World")
|
||||
r.Add("GET", "/user/:user", "User")
|
||||
r.Add("GET", "/*path", "Path")
|
||||
r.Add("GET", "*root", "Root")
|
||||
|
||||
r.Map(func(data string) string {
|
||||
return strings.Repeat(data, 2)
|
||||
|
@ -135,6 +157,10 @@ func TestMap(t *testing.T) {
|
|||
data, params = r.Lookup("GET", "/test.txt")
|
||||
assert.Equal(t, len(params), 1)
|
||||
assert.Equal(t, data, "PathPath")
|
||||
|
||||
data, params = r.Lookup("GET", "test.txt")
|
||||
assert.Equal(t, len(params), 1)
|
||||
assert.Equal(t, data, "RootRoot")
|
||||
}
|
||||
|
||||
func TestMethods(t *testing.T) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue