public function testIntegrationNoUser() { $token = $this->getMock(TokenInterface::class); $tokenStorage = new TokenStorage(); $tokenStorage->setToken($token); $argumentResolver = new ArgumentResolver(null, array(new SecurityUserValueResolver($tokenStorage), new DefaultValueResolver())); $this->assertSame(array(null), $argumentResolver->getArguments(Request::create('/'), function (UserInterface $user = null) { })); }
/** * @requires PHP 7.1 */ public function testGetNullableArgumentsWithDefaults() { $request = Request::create('/'); $request->attributes->set('mandatory', 'mandatory'); $controller = array(new NullableController(), 'action'); $this->assertEquals(array(null, null, 'value', 'mandatory'), self::$resolver->getArguments($request, $controller)); }
/** * {@inheritdoc} */ public function register(Container $app) { $app['resolver'] = function ($app) { if (Kernel::VERSION_ID >= 30100) { return new SfControllerResolver($app['logger']); } return new ControllerResolver($app, $app['logger']); }; if (Kernel::VERSION_ID >= 30100) { $app['argument_metadata_factory'] = function ($app) { return new ArgumentMetadataFactory(); }; $app['argument_value_resolvers'] = function ($app) { if (Kernel::VERSION_ID < 30200) { return array(new AppArgumentValueResolver($app), new RequestAttributeValueResolver(), new RequestValueResolver(), new DefaultValueResolver(), new VariadicValueResolver()); } return array_merge(array(new AppArgumentValueResolver($app)), ArgumentResolver::getDefaultArgumentValueResolvers()); }; } $app['argument_resolver'] = function ($app) { if (Kernel::VERSION_ID >= 30100) { return new ArgumentResolver($app['argument_metadata_factory'], $app['argument_value_resolvers']); } }; $app['kernel'] = function ($app) { return new HttpKernel($app['dispatcher'], $app['resolver'], $app['request_stack'], $app['argument_resolver']); }; $app['request_stack'] = function () { return new RequestStack(); }; $app['dispatcher'] = function () { return new EventDispatcher(); }; $app['callback_resolver'] = function ($app) { return new CallbackResolver($app); }; }
/** * @requires PHP 5.6 * @expectedException \InvalidArgumentException */ public function testGetArgumentWithoutArray() { $factory = new ArgumentMetadataFactory(); $valueResolver = $this->getMock(ArgumentValueResolverInterface::class); $resolver = new ArgumentResolver($factory, array($valueResolver)); $valueResolver->expects($this->any())->method('supports')->willReturn(true); $valueResolver->expects($this->any())->method('resolve')->willReturn('foo'); $request = Request::create('/'); $request->attributes->set('foo', 'foo'); $request->attributes->set('bar', 'foo'); $controller = array($this, 'controllerWithFooAndDefaultBar'); $resolver->getArguments($request, $controller); }