Fixed incorrect path traversal

This commit is contained in:
Eduard Urbach 2025-03-01 14:27:26 +01:00
parent 7ba55e445e
commit ebcb5fad18
Signed by: eduard
GPG key ID: 49226B848C78F6C8
3 changed files with 42 additions and 6 deletions

View file

@ -72,9 +72,35 @@ func TestParameter(t *testing.T) {
assert.Equal(t, data, "Comment")
}
func TestMixed(t *testing.T) {
r := router.New[string]()
r.Add("GET", "/", "Frontpage")
r.Add("GET", "/blog", "Blog")
r.Add("GET", "/:post", "Post")
r.Add("GET", "/sitemap.txt", "Sitemap")
data, params := r.Lookup("GET", "/")
assert.Equal(t, len(params), 0)
assert.Equal(t, data, "Frontpage")
data, params = r.Lookup("GET", "/blog")
assert.Equal(t, len(params), 0)
assert.Equal(t, data, "Blog")
data, params = r.Lookup("GET", "/software")
assert.Equal(t, len(params), 1)
assert.Equal(t, params[0].Key, "post")
assert.Equal(t, params[0].Value, "software")
assert.Equal(t, data, "Post")
data, params = r.Lookup("GET", "/sitemap.txt")
assert.Equal(t, len(params), 0)
assert.Equal(t, data, "Sitemap")
}
func TestWildcard(t *testing.T) {
r := router.New[string]()
r.Add("GET", "/", "Front page")
r.Add("GET", "/", "Frontpage")
r.Add("GET", "/users/:id", "Parameter")
r.Add("GET", "/images/static", "Static")
r.Add("GET", "/images/*path", "Wildcard")
@ -84,7 +110,7 @@ func TestWildcard(t *testing.T) {
data, params := r.Lookup("GET", "/")
assert.Equal(t, len(params), 0)
assert.Equal(t, data, "Front page")
assert.Equal(t, data, "Frontpage")
data, params = r.Lookup("GET", "/blog-post")
assert.Equal(t, len(params), 1)