|
@@ -36,6 +36,18 @@ class ControllerResolverTest extends \PHPUnit_Framework_TestCase
|
|
$controller = $resolver->getController($request);
|
|
$controller = $resolver->getController($request);
|
|
$this->assertSame($lambda, $controller);
|
|
$this->assertSame($lambda, $controller);
|
|
|
|
|
|
|
|
+ $request->attributes->set('_controller', $this);
|
|
|
|
+ $controller = $resolver->getController($request);
|
|
|
|
+ $this->assertSame($this, $controller);
|
|
|
|
+
|
|
|
|
+ $request->attributes->set('_controller', array($this, 'controllerMethod1'));
|
|
|
|
+ $controller = $resolver->getController($request);
|
|
|
|
+ $this->assertSame(array($this, 'controllerMethod1'), $controller);
|
|
|
|
+
|
|
|
|
+ $request->attributes->set('_controller', array('Symfony\Tests\Component\HttpKernel\ControllerResolverTest', 'controllerMethod4'));
|
|
|
|
+ $controller = $resolver->getController($request);
|
|
|
|
+ $this->assertSame(array('Symfony\Tests\Component\HttpKernel\ControllerResolverTest', 'controllerMethod4'), $controller);
|
|
|
|
+
|
|
$request->attributes->set('_controller', 'foo');
|
|
$request->attributes->set('_controller', 'foo');
|
|
try {
|
|
try {
|
|
$resolver->getController($request);
|
|
$resolver->getController($request);
|
|
@@ -98,6 +110,14 @@ class ControllerResolverTest extends \PHPUnit_Framework_TestCase
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
$this->assertInstanceOf('\RuntimeException', $e, '->getArguments() throws a \RuntimeException exception if it cannot determine the argument value');
|
|
$this->assertInstanceOf('\RuntimeException', $e, '->getArguments() throws a \RuntimeException exception if it cannot determine the argument value');
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ $request = Request::create('/');
|
|
|
|
+ $controller = array(new self(), 'controllerMethod5');
|
|
|
|
+ $this->assertEquals(array($request), $resolver->getArguments($request, $controller), '->getArguments() injects the request');
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function __invoke()
|
|
|
|
+ {
|
|
}
|
|
}
|
|
|
|
|
|
protected function controllerMethod1($foo)
|
|
protected function controllerMethod1($foo)
|
|
@@ -111,4 +131,12 @@ class ControllerResolverTest extends \PHPUnit_Framework_TestCase
|
|
protected function controllerMethod3($foo, $bar = null, $foobar)
|
|
protected function controllerMethod3($foo, $bar = null, $foobar)
|
|
{
|
|
{
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ static protected function controllerMethod4()
|
|
|
|
+ {
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ protected function controllerMethod5(Request $request)
|
|
|
|
+ {
|
|
|
|
+ }
|
|
}
|
|
}
|