mirror of
https://github.com/skipperbent/simple-php-router.git
synced 2026-06-15 18:23:26 +03:00
Minor changes
- Added better description of partialGroups in the documentation. - Added custom base path example in documentation. - Added isSubRoute event parameter for EVENT_ADD_ROUTE. - Removed deprecation phpDoc from partialGroup. - Added unit-test for adding custom base path.
This commit is contained in:
@@ -103,4 +103,52 @@ class EventHandlerTest extends \PHPUnit\Framework\TestCase
|
||||
|
||||
}
|
||||
|
||||
public function testCustomBasePath() {
|
||||
|
||||
$basePath = '/basepath/';
|
||||
|
||||
$eventHandler = new EventHandler();
|
||||
$eventHandler->register(EventHandler::EVENT_ADD_ROUTE, function(EventArgument $data) use($basePath) {
|
||||
|
||||
// Add basepath
|
||||
$basePath = rtrim($basePath, '/');
|
||||
|
||||
// Skip routes added by group
|
||||
if($data->isSubRoute === false) {
|
||||
|
||||
switch (true) {
|
||||
case $data->route instanceof \Pecee\SimpleRouter\Route\ILoadableRoute:
|
||||
$data->route->setUrl($basePath . $data->route->getUrl());
|
||||
break;
|
||||
case $data->route instanceof \Pecee\SimpleRouter\Route\IGroupRoute:
|
||||
$data->route->setPrefix($basePath . $data->route->getPrefix());
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$results = [];
|
||||
|
||||
TestRouter::addEventHandler($eventHandler);
|
||||
|
||||
TestRouter::get('/about', function() use(&$results) {
|
||||
$results[] = 'about';
|
||||
});
|
||||
|
||||
TestRouter::group(['prefix' => '/admin'], function() use(&$results) {
|
||||
TestRouter::get('/', function() use(&$results) {
|
||||
$results[] = 'admin';
|
||||
});
|
||||
});
|
||||
|
||||
TestRouter::router()->setRenderMultipleRoutes(false);
|
||||
TestRouter::debugNoReset('/basepath/about');
|
||||
TestRouter::debugNoReset('/basepath/admin');
|
||||
|
||||
$this->assertEquals(['about', 'admin'], $results);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user