diff options
author | Arnold Daniels <arnold@jasny.net> | 2016-11-22 17:29:48 +0100 |
---|---|---|
committer | Arnold Daniels <arnold@jasny.net> | 2016-11-22 17:29:48 +0100 |
commit | 75a705a698f44750d85d5d4906974f596b53f517 (patch) | |
tree | 609fd011efb956a8b91a714784086e9d5ebadf33 | |
parent | 5695f69ccd22a875135438671a3b71e3293aa186 (diff) | |
download | router-75a705a698f44750d85d5d4906974f596b53f517.zip router-75a705a698f44750d85d5d4906974f596b53f517.tar.gz router-75a705a698f44750d85d5d4906974f596b53f517.tar.bz2 |
Prepend 'Controller' to controller class
-rw-r--r-- | src/Router/Runner/Controller.php | 2 | ||||
-rw-r--r-- | tests/Router/Runner/ControllerTest.php | 16 |
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); |