updated packages
This commit is contained in:
@@ -23,86 +23,86 @@ class ServiceValueResolverTest extends TestCase
|
||||
{
|
||||
public function testDoNotSupportWhenControllerDoNotExists()
|
||||
{
|
||||
$resolver = new ServiceValueResolver(new ServiceLocator(array()));
|
||||
$resolver = new ServiceValueResolver(new ServiceLocator([]));
|
||||
$argument = new ArgumentMetadata('dummy', DummyService::class, false, false, null);
|
||||
$request = $this->requestWithAttributes(array('_controller' => 'my_controller'));
|
||||
$request = $this->requestWithAttributes(['_controller' => 'my_controller']);
|
||||
|
||||
$this->assertFalse($resolver->supports($request, $argument));
|
||||
}
|
||||
|
||||
public function testExistingController()
|
||||
{
|
||||
$resolver = new ServiceValueResolver(new ServiceLocator(array(
|
||||
$resolver = new ServiceValueResolver(new ServiceLocator([
|
||||
'App\\Controller\\Mine::method' => function () {
|
||||
return new ServiceLocator(array(
|
||||
return new ServiceLocator([
|
||||
'dummy' => function () {
|
||||
return new DummyService();
|
||||
},
|
||||
));
|
||||
]);
|
||||
},
|
||||
)));
|
||||
]));
|
||||
|
||||
$request = $this->requestWithAttributes(array('_controller' => 'App\\Controller\\Mine::method'));
|
||||
$request = $this->requestWithAttributes(['_controller' => 'App\\Controller\\Mine::method']);
|
||||
$argument = new ArgumentMetadata('dummy', DummyService::class, false, false, null);
|
||||
|
||||
$this->assertTrue($resolver->supports($request, $argument));
|
||||
$this->assertYieldEquals(array(new DummyService()), $resolver->resolve($request, $argument));
|
||||
$this->assertYieldEquals([new DummyService()], $resolver->resolve($request, $argument));
|
||||
}
|
||||
|
||||
public function testExistingControllerWithATrailingBackSlash()
|
||||
{
|
||||
$resolver = new ServiceValueResolver(new ServiceLocator(array(
|
||||
$resolver = new ServiceValueResolver(new ServiceLocator([
|
||||
'App\\Controller\\Mine::method' => function () {
|
||||
return new ServiceLocator(array(
|
||||
return new ServiceLocator([
|
||||
'dummy' => function () {
|
||||
return new DummyService();
|
||||
},
|
||||
));
|
||||
]);
|
||||
},
|
||||
)));
|
||||
]));
|
||||
|
||||
$request = $this->requestWithAttributes(array('_controller' => '\\App\\Controller\\Mine::method'));
|
||||
$request = $this->requestWithAttributes(['_controller' => '\\App\\Controller\\Mine::method']);
|
||||
$argument = new ArgumentMetadata('dummy', DummyService::class, false, false, null);
|
||||
|
||||
$this->assertTrue($resolver->supports($request, $argument));
|
||||
$this->assertYieldEquals(array(new DummyService()), $resolver->resolve($request, $argument));
|
||||
$this->assertYieldEquals([new DummyService()], $resolver->resolve($request, $argument));
|
||||
}
|
||||
|
||||
public function testExistingControllerWithMethodNameStartUppercase()
|
||||
{
|
||||
$resolver = new ServiceValueResolver(new ServiceLocator(array(
|
||||
$resolver = new ServiceValueResolver(new ServiceLocator([
|
||||
'App\\Controller\\Mine::method' => function () {
|
||||
return new ServiceLocator(array(
|
||||
return new ServiceLocator([
|
||||
'dummy' => function () {
|
||||
return new DummyService();
|
||||
},
|
||||
));
|
||||
]);
|
||||
},
|
||||
)));
|
||||
$request = $this->requestWithAttributes(array('_controller' => 'App\\Controller\\Mine::Method'));
|
||||
]));
|
||||
$request = $this->requestWithAttributes(['_controller' => 'App\\Controller\\Mine::Method']);
|
||||
$argument = new ArgumentMetadata('dummy', DummyService::class, false, false, null);
|
||||
|
||||
$this->assertTrue($resolver->supports($request, $argument));
|
||||
$this->assertYieldEquals(array(new DummyService()), $resolver->resolve($request, $argument));
|
||||
$this->assertYieldEquals([new DummyService()], $resolver->resolve($request, $argument));
|
||||
}
|
||||
|
||||
public function testControllerNameIsAnArray()
|
||||
{
|
||||
$resolver = new ServiceValueResolver(new ServiceLocator(array(
|
||||
$resolver = new ServiceValueResolver(new ServiceLocator([
|
||||
'App\\Controller\\Mine::method' => function () {
|
||||
return new ServiceLocator(array(
|
||||
return new ServiceLocator([
|
||||
'dummy' => function () {
|
||||
return new DummyService();
|
||||
},
|
||||
));
|
||||
]);
|
||||
},
|
||||
)));
|
||||
]));
|
||||
|
||||
$request = $this->requestWithAttributes(array('_controller' => array('App\\Controller\\Mine', 'method')));
|
||||
$request = $this->requestWithAttributes(['_controller' => ['App\\Controller\\Mine', 'method']]);
|
||||
$argument = new ArgumentMetadata('dummy', DummyService::class, false, false, null);
|
||||
|
||||
$this->assertTrue($resolver->supports($request, $argument));
|
||||
$this->assertYieldEquals(array(new DummyService()), $resolver->resolve($request, $argument));
|
||||
$this->assertYieldEquals([new DummyService()], $resolver->resolve($request, $argument));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -119,7 +119,7 @@ class ServiceValueResolverTest extends TestCase
|
||||
|
||||
$container->compile();
|
||||
|
||||
$request = $this->requestWithAttributes(array('_controller' => array(DummyController::class, 'index')));
|
||||
$request = $this->requestWithAttributes(['_controller' => [DummyController::class, 'index']]);
|
||||
$argument = new ArgumentMetadata('dummy', DummyService::class, false, false, null);
|
||||
$container->get('argument_resolver.service')->resolve($request, $argument)->current();
|
||||
}
|
||||
@@ -137,7 +137,7 @@ class ServiceValueResolverTest extends TestCase
|
||||
|
||||
private function assertYieldEquals(array $expected, \Generator $generator)
|
||||
{
|
||||
$args = array();
|
||||
$args = [];
|
||||
foreach ($generator as $arg) {
|
||||
$args[] = $arg;
|
||||
}
|
||||
|
||||
@@ -40,33 +40,33 @@ class ArgumentResolverTest extends TestCase
|
||||
public function testDefaultState()
|
||||
{
|
||||
$this->assertEquals(self::$resolver, new ArgumentResolver());
|
||||
$this->assertNotEquals(self::$resolver, new ArgumentResolver(null, array(new RequestAttributeValueResolver())));
|
||||
$this->assertNotEquals(self::$resolver, new ArgumentResolver(null, [new RequestAttributeValueResolver()]));
|
||||
}
|
||||
|
||||
public function testGetArguments()
|
||||
{
|
||||
$request = Request::create('/');
|
||||
$request->attributes->set('foo', 'foo');
|
||||
$controller = array(new self(), 'controllerWithFoo');
|
||||
$controller = [new self(), 'controllerWithFoo'];
|
||||
|
||||
$this->assertEquals(array('foo'), self::$resolver->getArguments($request, $controller), '->getArguments() returns an array of arguments for the controller method');
|
||||
$this->assertEquals(['foo'], self::$resolver->getArguments($request, $controller), '->getArguments() returns an array of arguments for the controller method');
|
||||
}
|
||||
|
||||
public function testGetArgumentsReturnsEmptyArrayWhenNoArguments()
|
||||
{
|
||||
$request = Request::create('/');
|
||||
$controller = array(new self(), 'controllerWithoutArguments');
|
||||
$controller = [new self(), 'controllerWithoutArguments'];
|
||||
|
||||
$this->assertEquals(array(), self::$resolver->getArguments($request, $controller), '->getArguments() returns an empty array if the method takes no arguments');
|
||||
$this->assertEquals([], self::$resolver->getArguments($request, $controller), '->getArguments() returns an empty array if the method takes no arguments');
|
||||
}
|
||||
|
||||
public function testGetArgumentsUsesDefaultValue()
|
||||
{
|
||||
$request = Request::create('/');
|
||||
$request->attributes->set('foo', 'foo');
|
||||
$controller = array(new self(), 'controllerWithFooAndDefaultBar');
|
||||
$controller = [new self(), 'controllerWithFooAndDefaultBar'];
|
||||
|
||||
$this->assertEquals(array('foo', null), self::$resolver->getArguments($request, $controller), '->getArguments() uses default values if present');
|
||||
$this->assertEquals(['foo', null], self::$resolver->getArguments($request, $controller), '->getArguments() uses default values if present');
|
||||
}
|
||||
|
||||
public function testGetArgumentsOverrideDefaultValueByRequestAttribute()
|
||||
@@ -74,9 +74,9 @@ class ArgumentResolverTest extends TestCase
|
||||
$request = Request::create('/');
|
||||
$request->attributes->set('foo', 'foo');
|
||||
$request->attributes->set('bar', 'bar');
|
||||
$controller = array(new self(), 'controllerWithFooAndDefaultBar');
|
||||
$controller = [new self(), 'controllerWithFooAndDefaultBar'];
|
||||
|
||||
$this->assertEquals(array('foo', 'bar'), self::$resolver->getArguments($request, $controller), '->getArguments() overrides default values if provided in the request attributes');
|
||||
$this->assertEquals(['foo', 'bar'], self::$resolver->getArguments($request, $controller), '->getArguments() overrides default values if provided in the request attributes');
|
||||
}
|
||||
|
||||
public function testGetArgumentsFromClosure()
|
||||
@@ -85,7 +85,7 @@ class ArgumentResolverTest extends TestCase
|
||||
$request->attributes->set('foo', 'foo');
|
||||
$controller = function ($foo) {};
|
||||
|
||||
$this->assertEquals(array('foo'), self::$resolver->getArguments($request, $controller));
|
||||
$this->assertEquals(['foo'], self::$resolver->getArguments($request, $controller));
|
||||
}
|
||||
|
||||
public function testGetArgumentsUsesDefaultValueFromClosure()
|
||||
@@ -94,7 +94,7 @@ class ArgumentResolverTest extends TestCase
|
||||
$request->attributes->set('foo', 'foo');
|
||||
$controller = function ($foo, $bar = 'bar') {};
|
||||
|
||||
$this->assertEquals(array('foo', 'bar'), self::$resolver->getArguments($request, $controller));
|
||||
$this->assertEquals(['foo', 'bar'], self::$resolver->getArguments($request, $controller));
|
||||
}
|
||||
|
||||
public function testGetArgumentsFromInvokableObject()
|
||||
@@ -103,12 +103,12 @@ class ArgumentResolverTest extends TestCase
|
||||
$request->attributes->set('foo', 'foo');
|
||||
$controller = new self();
|
||||
|
||||
$this->assertEquals(array('foo', null), self::$resolver->getArguments($request, $controller));
|
||||
$this->assertEquals(['foo', null], self::$resolver->getArguments($request, $controller));
|
||||
|
||||
// Test default bar overridden by request attribute
|
||||
$request->attributes->set('bar', 'bar');
|
||||
|
||||
$this->assertEquals(array('foo', 'bar'), self::$resolver->getArguments($request, $controller));
|
||||
$this->assertEquals(['foo', 'bar'], self::$resolver->getArguments($request, $controller));
|
||||
}
|
||||
|
||||
public function testGetArgumentsFromFunctionName()
|
||||
@@ -118,7 +118,7 @@ class ArgumentResolverTest extends TestCase
|
||||
$request->attributes->set('foobar', 'foobar');
|
||||
$controller = __NAMESPACE__.'\controller_function';
|
||||
|
||||
$this->assertEquals(array('foo', 'foobar'), self::$resolver->getArguments($request, $controller));
|
||||
$this->assertEquals(['foo', 'foobar'], self::$resolver->getArguments($request, $controller));
|
||||
}
|
||||
|
||||
public function testGetArgumentsFailsOnUnresolvedValue()
|
||||
@@ -126,7 +126,7 @@ class ArgumentResolverTest extends TestCase
|
||||
$request = Request::create('/');
|
||||
$request->attributes->set('foo', 'foo');
|
||||
$request->attributes->set('foobar', 'foobar');
|
||||
$controller = array(new self(), 'controllerWithFooBarFoobar');
|
||||
$controller = [new self(), 'controllerWithFooBarFoobar'];
|
||||
|
||||
try {
|
||||
self::$resolver->getArguments($request, $controller);
|
||||
@@ -139,27 +139,27 @@ class ArgumentResolverTest extends TestCase
|
||||
public function testGetArgumentsInjectsRequest()
|
||||
{
|
||||
$request = Request::create('/');
|
||||
$controller = array(new self(), 'controllerWithRequest');
|
||||
$controller = [new self(), 'controllerWithRequest'];
|
||||
|
||||
$this->assertEquals(array($request), self::$resolver->getArguments($request, $controller), '->getArguments() injects the request');
|
||||
$this->assertEquals([$request], self::$resolver->getArguments($request, $controller), '->getArguments() injects the request');
|
||||
}
|
||||
|
||||
public function testGetArgumentsInjectsExtendingRequest()
|
||||
{
|
||||
$request = ExtendingRequest::create('/');
|
||||
$controller = array(new self(), 'controllerWithExtendingRequest');
|
||||
$controller = [new self(), 'controllerWithExtendingRequest'];
|
||||
|
||||
$this->assertEquals(array($request), self::$resolver->getArguments($request, $controller), '->getArguments() injects the request when extended');
|
||||
$this->assertEquals([$request], self::$resolver->getArguments($request, $controller), '->getArguments() injects the request when extended');
|
||||
}
|
||||
|
||||
public function testGetVariadicArguments()
|
||||
{
|
||||
$request = Request::create('/');
|
||||
$request->attributes->set('foo', 'foo');
|
||||
$request->attributes->set('bar', array('foo', 'bar'));
|
||||
$controller = array(new VariadicController(), 'action');
|
||||
$request->attributes->set('bar', ['foo', 'bar']);
|
||||
$controller = [new VariadicController(), 'action'];
|
||||
|
||||
$this->assertEquals(array('foo', 'foo', 'bar'), self::$resolver->getArguments($request, $controller));
|
||||
$this->assertEquals(['foo', 'foo', 'bar'], self::$resolver->getArguments($request, $controller));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -170,7 +170,7 @@ class ArgumentResolverTest extends TestCase
|
||||
$request = Request::create('/');
|
||||
$request->attributes->set('foo', 'foo');
|
||||
$request->attributes->set('bar', 'foo');
|
||||
$controller = array(new VariadicController(), 'action');
|
||||
$controller = [new VariadicController(), 'action'];
|
||||
|
||||
self::$resolver->getArguments($request, $controller);
|
||||
}
|
||||
@@ -182,7 +182,7 @@ class ArgumentResolverTest extends TestCase
|
||||
{
|
||||
$factory = new ArgumentMetadataFactory();
|
||||
$valueResolver = $this->getMockBuilder(ArgumentValueResolverInterface::class)->getMock();
|
||||
$resolver = new ArgumentResolver($factory, array($valueResolver));
|
||||
$resolver = new ArgumentResolver($factory, [$valueResolver]);
|
||||
|
||||
$valueResolver->expects($this->any())->method('supports')->willReturn(true);
|
||||
$valueResolver->expects($this->any())->method('resolve')->willReturn('foo');
|
||||
@@ -190,7 +190,7 @@ class ArgumentResolverTest extends TestCase
|
||||
$request = Request::create('/');
|
||||
$request->attributes->set('foo', 'foo');
|
||||
$request->attributes->set('bar', 'foo');
|
||||
$controller = array($this, 'controllerWithFooAndDefaultBar');
|
||||
$controller = [$this, 'controllerWithFooAndDefaultBar'];
|
||||
$resolver->getArguments($request, $controller);
|
||||
}
|
||||
|
||||
@@ -200,7 +200,7 @@ class ArgumentResolverTest extends TestCase
|
||||
public function testIfExceptionIsThrownWhenMissingAnArgument()
|
||||
{
|
||||
$request = Request::create('/');
|
||||
$controller = array($this, 'controllerWithFoo');
|
||||
$controller = [$this, 'controllerWithFoo'];
|
||||
|
||||
self::$resolver->getArguments($request, $controller);
|
||||
}
|
||||
@@ -211,18 +211,18 @@ class ArgumentResolverTest extends TestCase
|
||||
$request->attributes->set('foo', 'foo');
|
||||
$request->attributes->set('bar', new \stdClass());
|
||||
$request->attributes->set('mandatory', 'mandatory');
|
||||
$controller = array(new NullableController(), 'action');
|
||||
$controller = [new NullableController(), 'action'];
|
||||
|
||||
$this->assertEquals(array('foo', new \stdClass(), 'value', 'mandatory'), self::$resolver->getArguments($request, $controller));
|
||||
$this->assertEquals(['foo', new \stdClass(), 'value', 'mandatory'], self::$resolver->getArguments($request, $controller));
|
||||
}
|
||||
|
||||
public function testGetNullableArgumentsWithDefaults()
|
||||
{
|
||||
$request = Request::create('/');
|
||||
$request->attributes->set('mandatory', 'mandatory');
|
||||
$controller = array(new NullableController(), 'action');
|
||||
$controller = [new NullableController(), 'action'];
|
||||
|
||||
$this->assertEquals(array(null, null, 'value', 'mandatory'), self::$resolver->getArguments($request, $controller));
|
||||
$this->assertEquals([null, null, 'value', 'mandatory'], self::$resolver->getArguments($request, $controller));
|
||||
}
|
||||
|
||||
public function testGetSessionArguments()
|
||||
@@ -230,9 +230,9 @@ class ArgumentResolverTest extends TestCase
|
||||
$session = new Session(new MockArraySessionStorage());
|
||||
$request = Request::create('/');
|
||||
$request->setSession($session);
|
||||
$controller = array($this, 'controllerWithSession');
|
||||
$controller = [$this, 'controllerWithSession'];
|
||||
|
||||
$this->assertEquals(array($session), self::$resolver->getArguments($request, $controller));
|
||||
$this->assertEquals([$session], self::$resolver->getArguments($request, $controller));
|
||||
}
|
||||
|
||||
public function testGetSessionArgumentsWithExtendedSession()
|
||||
@@ -240,9 +240,9 @@ class ArgumentResolverTest extends TestCase
|
||||
$session = new ExtendingSession(new MockArraySessionStorage());
|
||||
$request = Request::create('/');
|
||||
$request->setSession($session);
|
||||
$controller = array($this, 'controllerWithExtendingSession');
|
||||
$controller = [$this, 'controllerWithExtendingSession'];
|
||||
|
||||
$this->assertEquals(array($session), self::$resolver->getArguments($request, $controller));
|
||||
$this->assertEquals([$session], self::$resolver->getArguments($request, $controller));
|
||||
}
|
||||
|
||||
public function testGetSessionArgumentsWithInterface()
|
||||
@@ -250,9 +250,9 @@ class ArgumentResolverTest extends TestCase
|
||||
$session = $this->getMockBuilder(SessionInterface::class)->getMock();
|
||||
$request = Request::create('/');
|
||||
$request->setSession($session);
|
||||
$controller = array($this, 'controllerWithSessionInterface');
|
||||
$controller = [$this, 'controllerWithSessionInterface'];
|
||||
|
||||
$this->assertEquals(array($session), self::$resolver->getArguments($request, $controller));
|
||||
$this->assertEquals([$session], self::$resolver->getArguments($request, $controller));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -263,7 +263,7 @@ class ArgumentResolverTest extends TestCase
|
||||
$session = $this->getMockBuilder(SessionInterface::class)->getMock();
|
||||
$request = Request::create('/');
|
||||
$request->setSession($session);
|
||||
$controller = array($this, 'controllerWithExtendingSession');
|
||||
$controller = [$this, 'controllerWithExtendingSession'];
|
||||
|
||||
self::$resolver->getArguments($request, $controller);
|
||||
}
|
||||
@@ -276,7 +276,7 @@ class ArgumentResolverTest extends TestCase
|
||||
$session = new Session(new MockArraySessionStorage());
|
||||
$request = Request::create('/');
|
||||
$request->setSession($session);
|
||||
$controller = array($this, 'controllerWithExtendingSession');
|
||||
$controller = [$this, 'controllerWithExtendingSession'];
|
||||
|
||||
self::$resolver->getArguments($request, $controller);
|
||||
}
|
||||
@@ -287,7 +287,7 @@ class ArgumentResolverTest extends TestCase
|
||||
public function testGetSessionMissMatchOnNull()
|
||||
{
|
||||
$request = Request::create('/');
|
||||
$controller = array($this, 'controllerWithExtendingSession');
|
||||
$controller = [$this, 'controllerWithExtendingSession'];
|
||||
|
||||
self::$resolver->getArguments($request, $controller);
|
||||
}
|
||||
|
||||
@@ -137,12 +137,12 @@ class ContainerControllerResolverTest extends ControllerResolverTest
|
||||
$container->expects($this->atLeastOnce())
|
||||
->method('getRemovedIds')
|
||||
->with()
|
||||
->will($this->returnValue(array(ControllerTestService::class => true)))
|
||||
->will($this->returnValue([ControllerTestService::class => true]))
|
||||
;
|
||||
|
||||
$resolver = $this->createControllerResolver(null, $container);
|
||||
$request = Request::create('/');
|
||||
$request->attributes->set('_controller', array(ControllerTestService::class, 'action'));
|
||||
$request->attributes->set('_controller', [ControllerTestService::class, 'action']);
|
||||
|
||||
$resolver->getController($request);
|
||||
}
|
||||
@@ -165,7 +165,7 @@ class ContainerControllerResolverTest extends ControllerResolverTest
|
||||
$container->expects($this->atLeastOnce())
|
||||
->method('getRemovedIds')
|
||||
->with()
|
||||
->will($this->returnValue(array('app.my_controller' => true)))
|
||||
->will($this->returnValue(['app.my_controller' => true]))
|
||||
;
|
||||
|
||||
$resolver = $this->createControllerResolver(null, $container);
|
||||
@@ -178,23 +178,23 @@ class ContainerControllerResolverTest extends ControllerResolverTest
|
||||
public function getUndefinedControllers()
|
||||
{
|
||||
$tests = parent::getUndefinedControllers();
|
||||
$tests[0] = array('foo', \InvalidArgumentException::class, 'Controller "foo" does neither exist as service nor as class');
|
||||
$tests[1] = array('oof::bar', \InvalidArgumentException::class, 'Controller "oof" does neither exist as service nor as class');
|
||||
$tests[2] = array(array('oof', 'bar'), \InvalidArgumentException::class, 'Controller "oof" does neither exist as service nor as class');
|
||||
$tests[] = array(
|
||||
array(ControllerTestService::class, 'action'),
|
||||
$tests[0] = ['foo', \InvalidArgumentException::class, 'Controller "foo" does neither exist as service nor as class'];
|
||||
$tests[1] = ['oof::bar', \InvalidArgumentException::class, 'Controller "oof" does neither exist as service nor as class'];
|
||||
$tests[2] = [['oof', 'bar'], \InvalidArgumentException::class, 'Controller "oof" does neither exist as service nor as class'];
|
||||
$tests[] = [
|
||||
[ControllerTestService::class, 'action'],
|
||||
\InvalidArgumentException::class,
|
||||
'Controller "Symfony\Component\HttpKernel\Tests\Controller\ControllerTestService" has required constructor arguments and does not exist in the container. Did you forget to define such a service?',
|
||||
);
|
||||
$tests[] = array(
|
||||
];
|
||||
$tests[] = [
|
||||
ControllerTestService::class.'::action',
|
||||
\InvalidArgumentException::class, 'Controller "Symfony\Component\HttpKernel\Tests\Controller\ControllerTestService" has required constructor arguments and does not exist in the container. Did you forget to define such a service?',
|
||||
);
|
||||
$tests[] = array(
|
||||
];
|
||||
$tests[] = [
|
||||
InvokableControllerService::class,
|
||||
\InvalidArgumentException::class,
|
||||
'Controller "Symfony\Component\HttpKernel\Tests\Controller\InvokableControllerService" has required constructor arguments and does not exist in the container. Did you forget to define such a service?',
|
||||
);
|
||||
];
|
||||
|
||||
return $tests;
|
||||
}
|
||||
|
||||
@@ -55,9 +55,9 @@ class ControllerResolverTest extends TestCase
|
||||
$object = new ControllerTest();
|
||||
|
||||
$request = Request::create('/');
|
||||
$request->attributes->set('_controller', array($object, 'publicAction'));
|
||||
$request->attributes->set('_controller', [$object, 'publicAction']);
|
||||
$controller = $resolver->getController($request);
|
||||
$this->assertSame(array($object, 'publicAction'), $controller);
|
||||
$this->assertSame([$object, 'publicAction'], $controller);
|
||||
}
|
||||
|
||||
public function testGetControllerWithClassAndMethodAsArray()
|
||||
@@ -65,7 +65,7 @@ class ControllerResolverTest extends TestCase
|
||||
$resolver = $this->createControllerResolver();
|
||||
|
||||
$request = Request::create('/');
|
||||
$request->attributes->set('_controller', array(ControllerTest::class, 'publicAction'));
|
||||
$request->attributes->set('_controller', [ControllerTest::class, 'publicAction']);
|
||||
$controller = $resolver->getController($request);
|
||||
$this->assertInstanceOf(ControllerTest::class, $controller[0]);
|
||||
$this->assertSame('publicAction', $controller[1]);
|
||||
@@ -145,12 +145,12 @@ class ControllerResolverTest extends TestCase
|
||||
|
||||
public function getStaticControllers()
|
||||
{
|
||||
return array(
|
||||
array(TestAbstractController::class.'::staticAction', 'foo'),
|
||||
array(array(TestAbstractController::class, 'staticAction'), 'foo'),
|
||||
array(PrivateConstructorController::class.'::staticAction', 'bar'),
|
||||
array(array(PrivateConstructorController::class, 'staticAction'), 'bar'),
|
||||
);
|
||||
return [
|
||||
[TestAbstractController::class.'::staticAction', 'foo'],
|
||||
[[TestAbstractController::class, 'staticAction'], 'foo'],
|
||||
[PrivateConstructorController::class.'::staticAction', 'bar'],
|
||||
[[PrivateConstructorController::class, 'staticAction'], 'bar'],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -175,22 +175,22 @@ class ControllerResolverTest extends TestCase
|
||||
{
|
||||
$controller = new ControllerTest();
|
||||
|
||||
return array(
|
||||
array('foo', \Error::class, 'Class \'foo\' not found'),
|
||||
array('oof::bar', \Error::class, 'Class \'oof\' not found'),
|
||||
array(array('oof', 'bar'), \Error::class, 'Class \'oof\' not found'),
|
||||
array('Symfony\Component\HttpKernel\Tests\Controller\ControllerTest::staticsAction', \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Expected method "staticsAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest", did you mean "staticAction"?'),
|
||||
array('Symfony\Component\HttpKernel\Tests\Controller\ControllerTest::privateAction', \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Method "privateAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest" should be public and non-abstract'),
|
||||
array('Symfony\Component\HttpKernel\Tests\Controller\ControllerTest::protectedAction', \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Method "protectedAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest" should be public and non-abstract'),
|
||||
array('Symfony\Component\HttpKernel\Tests\Controller\ControllerTest::undefinedAction', \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Expected method "undefinedAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest". Available methods: "publicAction", "staticAction"'),
|
||||
array('Symfony\Component\HttpKernel\Tests\Controller\ControllerTest', \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Controller class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest" cannot be called without a method name. You need to implement "__invoke" or use one of the available methods: "publicAction", "staticAction".'),
|
||||
array(array($controller, 'staticsAction'), \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Expected method "staticsAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest", did you mean "staticAction"?'),
|
||||
array(array($controller, 'privateAction'), \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Method "privateAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest" should be public and non-abstract'),
|
||||
array(array($controller, 'protectedAction'), \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Method "protectedAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest" should be public and non-abstract'),
|
||||
array(array($controller, 'undefinedAction'), \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Expected method "undefinedAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest". Available methods: "publicAction", "staticAction"'),
|
||||
array($controller, \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Controller class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest" cannot be called without a method name. You need to implement "__invoke" or use one of the available methods: "publicAction", "staticAction".'),
|
||||
array(array('a' => 'foo', 'b' => 'bar'), \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Invalid array callable, expected array(controller, method).'),
|
||||
);
|
||||
return [
|
||||
['foo', \Error::class, 'Class \'foo\' not found'],
|
||||
['oof::bar', \Error::class, 'Class \'oof\' not found'],
|
||||
[['oof', 'bar'], \Error::class, 'Class \'oof\' not found'],
|
||||
['Symfony\Component\HttpKernel\Tests\Controller\ControllerTest::staticsAction', \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Expected method "staticsAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest", did you mean "staticAction"?'],
|
||||
['Symfony\Component\HttpKernel\Tests\Controller\ControllerTest::privateAction', \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Method "privateAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest" should be public and non-abstract'],
|
||||
['Symfony\Component\HttpKernel\Tests\Controller\ControllerTest::protectedAction', \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Method "protectedAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest" should be public and non-abstract'],
|
||||
['Symfony\Component\HttpKernel\Tests\Controller\ControllerTest::undefinedAction', \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Expected method "undefinedAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest". Available methods: "publicAction", "staticAction"'],
|
||||
['Symfony\Component\HttpKernel\Tests\Controller\ControllerTest', \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Controller class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest" cannot be called without a method name. You need to implement "__invoke" or use one of the available methods: "publicAction", "staticAction".'],
|
||||
[[$controller, 'staticsAction'], \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Expected method "staticsAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest", did you mean "staticAction"?'],
|
||||
[[$controller, 'privateAction'], \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Method "privateAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest" should be public and non-abstract'],
|
||||
[[$controller, 'protectedAction'], \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Method "protectedAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest" should be public and non-abstract'],
|
||||
[[$controller, 'undefinedAction'], \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Expected method "undefinedAction" on class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest". Available methods: "publicAction", "staticAction"'],
|
||||
[$controller, \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Controller class "Symfony\Component\HttpKernel\Tests\Controller\ControllerTest" cannot be called without a method name. You need to implement "__invoke" or use one of the available methods: "publicAction", "staticAction".'],
|
||||
[['a' => 'foo', 'b' => 'bar'], \InvalidArgumentException::class, 'The controller for URI "/" is not callable. Invalid array callable, expected [controller, method].'],
|
||||
];
|
||||
}
|
||||
|
||||
protected function createControllerResolver(LoggerInterface $logger = null)
|
||||
|
||||
Reference in New Issue
Block a user