summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold Daniels <arnold@jasny.net>2016-11-22 17:29:48 +0100
committerArnold Daniels <arnold@jasny.net>2016-11-22 17:29:48 +0100
commit75a705a698f44750d85d5d4906974f596b53f517 (patch)
tree609fd011efb956a8b91a714784086e9d5ebadf33
parent5695f69ccd22a875135438671a3b71e3293aa186 (diff)
downloadrouter-75a705a698f44750d85d5d4906974f596b53f517.zip
router-75a705a698f44750d85d5d4906974f596b53f517.tar.gz
router-75a705a698f44750d85d5d4906974f596b53f517.tar.bz2
Prepend 'Controller' to controller class
-rw-r--r--src/Router/Runner/Controller.php2
-rw-r--r--tests/Router/Runner/ControllerTest.php16
2 files changed, 10 insertions, 8 deletions
diff --git a/src/Router/Runner/Controller.php b/src/Router/Runner/Controller.php
index caca48f..7985029 100644
--- a/src/Router/Runner/Controller.php
+++ b/src/Router/Runner/Controller.php
@@ -19,7 +19,7 @@ class Controller extends Runner
*/
protected function getClass($name)
{
- return strstr($name, '-') ? \Jasny\studlycase($name) : $name;
+ return \Jasny\studlycase($name) . 'Controller';
}
/**
diff --git a/tests/Router/Runner/ControllerTest.php b/tests/Router/Runner/ControllerTest.php
index 694fe5b..cd3e653 100644
--- a/tests/Router/Runner/ControllerTest.php
+++ b/tests/Router/Runner/ControllerTest.php
@@ -26,11 +26,12 @@ class ControllerTest extends \PHPUnit_Framework_TestCase
$class = get_class($controller);
$route = $this->createMock(Route::class);
- $route->controller = $class;
+ $route->controller = 'foo';
$request->expects($this->once())->method('getAttribute')->with('route')->willReturn($route);
- $runner = $this->getMockBuilder(Runner\Controller::class)->setMethods(['instantiate'])->getMock();
+ $runner = $this->getMockBuilder(Runner\Controller::class)->setMethods(['instantiate', 'getClass'])->getMock();
+ $runner->expects($this->once())->method('getClass')->with('foo')->willReturn($class);
$runner->expects($this->once())->method('instantiate')->with($class)->willReturn($controller);
$result = $runner($request, $response);
@@ -40,7 +41,7 @@ class ControllerTest extends \PHPUnit_Framework_TestCase
/**
* @expectedException RuntimeException
- * @expectedExceptionMessage Can not route to controller 'FooBarZoo': class not exists
+ * @expectedExceptionMessage Can not route to controller 'DoesNotExistsController': class not exists
*/
public function testInvalidClass()
{
@@ -48,7 +49,7 @@ class ControllerTest extends \PHPUnit_Framework_TestCase
$response = $this->createMock(ResponseInterface::class);
$route = $this->createMock(Route::class);
- $route->controller = 'foo-bar-zoo';
+ $route->controller = 'does-not-exists';
$request->expects($this->once())->method('getAttribute')->with('route')->willReturn($route);
@@ -60,7 +61,7 @@ class ControllerTest extends \PHPUnit_Framework_TestCase
/**
* @expectedException RuntimeException
- * @expectedExceptionMessage Can not route to controller 'StdClass': class does not have '__invoke' method
+ * @expectedExceptionMessage Can not route to controller 'stdClass': class does not have '__invoke' method
*/
public function testInvokeNotCallable()
{
@@ -68,11 +69,12 @@ class ControllerTest extends \PHPUnit_Framework_TestCase
$response = $this->createMock(ResponseInterface::class);
$route = $this->createMock(Route::class);
- $route->controller = 'std-class';
+ $route->controller = 'foo';
$request->expects($this->once())->method('getAttribute')->with('route')->willReturn($route);
- $runner = $this->getMockBuilder(Runner\Controller::class)->setMethods(['instantiate'])->getMock();
+ $runner = $this->getMockBuilder(Runner\Controller::class)->setMethods(['instantiate', 'getClass'])->getMock();
+ $runner->expects($this->once())->method('getClass')->with('foo')->willReturn('stdClass');
$runner->expects($this->never())->method('instantiate');
$runner($request, $response);