Fixes for issue #248

This commit is contained in:
Simon Sessingø
2017-08-01 21:09:18 +02:00
parent 3a7b27796a
commit 883d8a6b0e
4 changed files with 13 additions and 18 deletions
+2 -2
View File
@@ -110,6 +110,8 @@ abstract class Route implements IRoute
$parameters = [];
$url = '/' . ltrim($url, '/');
if (preg_match_all('/' . $regex . '/', $route, $parameters)) {
$urlParts = preg_split('/((\-?\/?)\{[^}]+\})/', rtrim($route, '/'));
@@ -148,8 +150,6 @@ abstract class Route implements IRoute
$urlRegex = preg_quote($route, '/');
}
echo $urlRegex . '\/? | ' . $url . chr(10);
if (preg_match('/^' . $urlRegex . '\/?/', $url, $matches) > 0) {
$values = [];
@@ -53,7 +53,7 @@ class RouteController extends LoadableRoute implements IControllerRoute
if (strpos($name, '.') !== false) {
$found = array_search(substr($name, strrpos($name, '.') + 1), $this->names, false);
if ($found !== false) {
$method = $found;
$method = (string)$found;
}
}
-3
View File
@@ -11,7 +11,6 @@ use Pecee\SimpleRouter\Route\IControllerRoute;
use Pecee\SimpleRouter\Route\IGroupRoute;
use Pecee\SimpleRouter\Route\ILoadableRoute;
use Pecee\SimpleRouter\Route\IRoute;
use Pecee\SimpleRouter\Route\LoadableRoute;
class Router
{
@@ -125,8 +124,6 @@ class Router
$url = ($this->request->getRewriteUrl() !== null) ? $this->request->getRewriteUrl() : $this->request->getUri();
/* @var $route IRoute */
for ($i = $max; $i >= 0; $i--) {
+10 -12
View File
@@ -10,24 +10,22 @@ class RouterUrlTest extends PHPUnit_Framework_TestCase
public function testOptionalParameters()
{
// TestRouter::get('/aviso/legal', 'DummyController@method1');
TestRouter::get('/aviso/legal', 'DummyController@method1');
TestRouter::get('/aviso/{aviso}', 'DummyController@method1');
//TestRouter::get('/pagina/{pagina}', 'DummyController@method1');
TestRouter::get('/pagina/{pagina}', 'DummyController@method1');
TestRouter::get('/{pagina?}', 'DummyController@method1');
//TestRouter::debugNoReset('/aviso/optional', 'get');
//$this->assertEquals('/aviso/{aviso}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl());
TestRouter::debugNoReset('/aviso/optional', 'get');
$this->assertEquals('/aviso/{aviso}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl());
//TestRouter::debugNoReset('/pagina/optional', 'get');
//$this->assertEquals('/pagina/{pagina}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl());
TestRouter::debugNoReset('/pagina/optional', 'get');
$this->assertEquals('/pagina/{pagina}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl());
//TestRouter::debugNoReset('/optional', 'get');
//$this->assertEquals('/{pagina?}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl());
TestRouter::debugNoReset('/optional', 'get');
$this->assertEquals('/{pagina?}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl());
// New test lines
//TestRouter::debugNoReset('/avisolegal', 'get');
//$this->assertNotEquals('/aviso/{aviso}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl());
TestRouter::debugNoReset('/avisolegal', 'get');
$this->assertNotEquals('/aviso/{aviso}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl());
TestRouter::debugNoReset('/avisolegal', 'get');
$this->assertEquals('/{pagina?}/', TestRouter::router()->getRequest()->getLoadedRoute()->getUrl());