mirror of
https://github.com/skipperbent/simple-php-router.git
synced 2026-06-17 00:37:52 +00:00
Default-namespace changes.
- Added new ClassNotFoundHttpException thrown when class is not found. - ClassNotFoundHttpException is now thrown when class/method is not found (backwards compatible). - Added unit-tests for default-namespace tests (rewrite + append cases).
This commit is contained in:
@@ -11,7 +11,7 @@ class RouterUrlTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
TestRouter::get('/', 'DummyController@method1');
|
||||
TestRouter::get('/page/{id?}', 'DummyController@method1');
|
||||
TestRouter::get('/test-output', function() {
|
||||
TestRouter::get('/test-output', function () {
|
||||
return 'return value';
|
||||
});
|
||||
|
||||
@@ -175,7 +175,7 @@ class RouterUrlTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
TestRouter::request()->setHost('google.com');
|
||||
|
||||
TestRouter::get('/admin/', function() {
|
||||
TestRouter::get('/admin/', function () {
|
||||
return 'match';
|
||||
})->setMatch('/^\/admin\/?(.*)/i');
|
||||
|
||||
@@ -185,24 +185,52 @@ class RouterUrlTest extends \PHPUnit\Framework\TestCase
|
||||
|
||||
public function testDefaultNamespace()
|
||||
{
|
||||
TestRouter::setDefaultNamespace('\\TestRoutersss');
|
||||
TestRouter::setDefaultNamespace('\\Default\\Namespace');
|
||||
|
||||
TestRouter::get('/', 'DummyController@method1', ['as' => 'home']);
|
||||
TestRouter::get('/about', 'DummyController@about');
|
||||
|
||||
TestRouter::group([
|
||||
'prefix' => '/horses',
|
||||
], function() {
|
||||
'namespace' => 'Appended\Namespace',
|
||||
'prefix' => '/horses',
|
||||
], function () {
|
||||
|
||||
TestRouter::get('/about', 'DummyController@about');
|
||||
TestRouter::get('/', 'DummyController@method1');
|
||||
|
||||
TestRouter::group([
|
||||
'namespace' => '\\New\\Namespace',
|
||||
'prefix' => '/race',
|
||||
], function () {
|
||||
|
||||
TestRouter::get('/', 'DummyController@method1');
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
// Test appended namespace
|
||||
|
||||
TestRouter::debugNoReset('/horses/about');
|
||||
$class = null;
|
||||
|
||||
try {
|
||||
TestRouter::debugNoReset('/horses/');
|
||||
} catch (\Pecee\SimpleRouter\Exceptions\ClassNotFoundHttpException $e) {
|
||||
$class = $e->getClass();
|
||||
}
|
||||
|
||||
$routes = TestRouter::router()->getRoutes();
|
||||
$this->assertEquals('\\Default\\Namespace\\Appended\Namespace\\DummyController', $class);
|
||||
|
||||
// Test overwritten namespace
|
||||
|
||||
$class = null;
|
||||
|
||||
try {
|
||||
TestRouter::debugNoReset('/horses/race');
|
||||
} catch (\Pecee\SimpleRouter\Exceptions\ClassNotFoundHttpException $e) {
|
||||
$class = $e->getClass();
|
||||
}
|
||||
|
||||
$this->assertEquals('\\New\\Namespace\\DummyController', $class);
|
||||
|
||||
TestRouter::router()->reset();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user