mirror of
https://github.com/skipperbent/simple-php-router.git
synced 2026-07-11 11:42:13 +00:00
Added RouterGroupTest unit-tests.
This commit is contained in:
@@ -70,7 +70,7 @@ abstract class Route implements IRoute
|
|||||||
$callback = $this->getCallback();
|
$callback = $this->getCallback();
|
||||||
|
|
||||||
if ($callback === null) {
|
if ($callback === null) {
|
||||||
return;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Render callback function */
|
/* Render callback function */
|
||||||
@@ -162,7 +162,7 @@ abstract class Route implements IRoute
|
|||||||
if (isset($parameters[1]) === true) {
|
if (isset($parameters[1]) === true) {
|
||||||
|
|
||||||
/* Only take matched parameters with name */
|
/* Only take matched parameters with name */
|
||||||
foreach ($parameters[1] as $name) {
|
foreach ((array)$parameters[1] as $name) {
|
||||||
$values[$name] = (isset($matches[$name]) && $matches[$name] !== '') ? $matches[$name] : null;
|
$values[$name] = (isset($matches[$name]) && $matches[$name] !== '') ? $matches[$name] : null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ class RouteGroup extends Route implements IGroupRoute
|
|||||||
*/
|
*/
|
||||||
public function matchRoute($url, Request $request)
|
public function matchRoute($url, Request $request)
|
||||||
{
|
{
|
||||||
if($this->prefix !== null) {
|
if ($this->prefix !== null) {
|
||||||
/* Parse parameters from current route */
|
/* Parse parameters from current route */
|
||||||
$parameters = $this->parseParameters($this->prefix, $url);
|
$parameters = $this->parseParameters($this->prefix, $url);
|
||||||
|
|
||||||
@@ -162,7 +162,7 @@ class RouteGroup extends Route implements IGroupRoute
|
|||||||
$this->setExceptionHandlers((array)$values['exceptionHandler']);
|
$this->setExceptionHandlers((array)$values['exceptionHandler']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($merge === false &&isset($values['domain'])) {
|
if ($merge === false && isset($values['domain'])) {
|
||||||
$this->setDomains((array)$values['domain']);
|
$this->setDomains((array)$values['domain']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -258,6 +258,7 @@ class Router
|
|||||||
if ($rewriteUrl !== null && $rewriteUrl !== $url) {
|
if ($rewriteUrl !== null && $rewriteUrl !== $url) {
|
||||||
unset($this->processedRoutes[$i]);
|
unset($this->processedRoutes[$i]);
|
||||||
$this->processedRoutes = array_values($this->processedRoutes);
|
$this->processedRoutes = array_values($this->processedRoutes);
|
||||||
|
|
||||||
return $this->routeRequest(true);
|
return $this->routeRequest(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -334,6 +335,7 @@ class Router
|
|||||||
if ($rewriteUrl !== null && $rewriteUrl !== $url) {
|
if ($rewriteUrl !== null && $rewriteUrl !== $url) {
|
||||||
unset($this->exceptionHandlers[$i]);
|
unset($this->exceptionHandlers[$i]);
|
||||||
$this->exceptionHandlers = array_values($this->exceptionHandlers);
|
$this->exceptionHandlers = array_values($this->exceptionHandlers);
|
||||||
|
|
||||||
return $this->routeRequest(true);
|
return $this->routeRequest(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once 'Dummy/DummyMiddleware.php';
|
||||||
|
require_once 'Dummy/DummyController.php';
|
||||||
|
require_once 'Dummy/Handler/ExceptionHandler.php';
|
||||||
|
require_once 'Helpers/TestRouter.php';
|
||||||
|
|
||||||
|
class RouterGroupTest extends PHPUnit_Framework_TestCase
|
||||||
|
{
|
||||||
|
|
||||||
|
public function testParameters()
|
||||||
|
{
|
||||||
|
$result1 = null;
|
||||||
|
$result2 = null;
|
||||||
|
|
||||||
|
TestRouter::group(['prefix' => '{param1}/{param2}'], function ($param1 = null, $param2 = null) use (&$result1, &$result2) {
|
||||||
|
$result1 = $param1;
|
||||||
|
$result2 = $param2;
|
||||||
|
|
||||||
|
TestRouter::get('/', 'DummyController@method1');
|
||||||
|
});
|
||||||
|
|
||||||
|
TestRouter::debug('/param1/param2', 'get');
|
||||||
|
|
||||||
|
$this->assertEquals('param1', $result1);
|
||||||
|
$this->assertEquals('param2', $result2);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user