From bf4a761d3a828f4fa4248d31318fc64765ec0655 Mon Sep 17 00:00:00 2001 From: Pierre Rudloff Date: Wed, 23 Feb 2022 21:27:22 +0100 Subject: [PATCH] Make UglyRouter compatible with routes with parameters (#399) --- classes/UglyRouter.php | 2 +- tests/UglyRouterTest.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/classes/UglyRouter.php b/classes/UglyRouter.php index 2f1661e..8e7a201 100644 --- a/classes/UglyRouter.php +++ b/classes/UglyRouter.php @@ -55,7 +55,7 @@ class UglyRouter extends Router */ public function pathFor($name, array $data = [], array $queryParams = []): string { - $queryParams['page'] = $name; + $queryParams['page'] = $this->relativePathFor($name, $data); $url = Uri::createFromString($this->relativePathFor($name, $data, $queryParams))->withPath(''); if ($this->basePath) { diff --git a/tests/UglyRouterTest.php b/tests/UglyRouterTest.php index f0f9f79..589d980 100644 --- a/tests/UglyRouterTest.php +++ b/tests/UglyRouterTest.php @@ -79,7 +79,7 @@ class UglyRouterTest extends ContainerTest public function testPathFor() { $this->assertEquals( - '/?page=foo', + '/?page=%2Ffoo', $this->router->pathFor('foo', [], []) ); } @@ -93,7 +93,7 @@ class UglyRouterTest extends ContainerTest { $this->router->setBasePath('/bar'); $this->assertEquals( - '/bar/?page=foo', + '/bar/?page=%2Ffoo', $this->router->pathFor('foo', [], []) ); }