/** * @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)); }
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 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); }