diff --git a/router_test.go b/router_test.go index 9e8f2bca84..c50bc11c95 100644 --- a/router_test.go +++ b/router_test.go @@ -160,6 +160,10 @@ func Test_Route_Match_UnescapedPath(t *testing.T) { body, err := ioutil.ReadAll(resp.Body) utils.AssertEqual(t, nil, err, "app.Test(req)") utils.AssertEqual(t, "test", getString(body)) + // without special chars + resp, err = app.Test(httptest.NewRequest(MethodGet, "/créer", nil)) + utils.AssertEqual(t, nil, err, "app.Test(req)") + utils.AssertEqual(t, StatusOK, resp.StatusCode, "Status code") // check deactivated behavior app.Settings.UnescapePath = false @@ -427,6 +431,23 @@ func Benchmark_Router_Handler_CaseSensitive(b *testing.B) { } } +// go test -v ./... -run=^$ -bench=Benchmark_Router_Handler_Unescape -benchmem -count=4 +func Benchmark_Router_Handler_Unescape(b *testing.B) { + app := New() + app.Settings.UnescapePath = true + registerDummyRoutes(app) + app.Delete("/créer", func(c *Ctx) {}) + + c := &fasthttp.RequestCtx{} + + c.Request.Header.SetMethod(MethodDelete) + c.URI().SetPath("/cr%C3%A9er") + + for n := 0; n < b.N; n++ { + app.handler(c) + } +} + // go test -v ./... -run=^$ -bench=Benchmark_Router_Handler_StrictRouting -benchmem -count=4 func Benchmark_Router_Handler_StrictRouting(b *testing.B) { app := New()