/**
  * Tests getArguments().
  *
  * Ensure that doGetArguments uses converted arguments if available.
  *
  * @see \Drupal\Core\Controller\ControllerResolver::getArguments()
  * @see \Drupal\Core\Controller\ControllerResolver::doGetArguments()
  */
 public function testGetArguments()
 {
     $controller = function (EntityInterface $entity, $user) {
     };
     $mock_entity = $this->getMockBuilder('Drupal\\Core\\Entity\\Entity')->disableOriginalConstructor()->getMock();
     $mock_account = $this->getMock('Drupal\\Core\\Session\\AccountInterface');
     $request = new Request(array(), array(), array('entity' => $mock_entity, 'user' => $mock_account, '_raw_variables' => new ParameterBag(array('entity' => 1, 'user' => 1))));
     $arguments = $this->controllerResolver->getArguments($request, $controller);
     $this->assertEquals($mock_entity, $arguments[0], 'Type hinted variables should use upcasted values.');
     $this->assertEquals(1, $arguments[1], 'Not type hinted variables should use not upcasted values.');
 }
 /**
  * Tests getArguments with a route match and a request.
  *
  * @covers ::getArguments
  * @covers ::doGetArguments
  */
 public function testGetArgumentsWithRouteMatchAndRequest()
 {
     $request = Request::create('/test');
     $mock_controller = new MockController();
     $arguments = $this->controllerResolver->getArguments($request, [$mock_controller, 'getControllerWithRequestAndRouteMatch']);
     $this->assertEquals([RouteMatch::createFromRequest($request), $request], $arguments);
 }
示例#3
0
 /**
  * Tests getArguments with a route match and a PSR-7 request.
  *
  * @covers ::getArguments
  * @covers ::doGetArguments
  */
 public function testGetArgumentsWithRouteMatchAndPsr7Request()
 {
     $request = Request::create('/test');
     $mock_controller = new MockControllerPsr7();
     $arguments = $this->controllerResolver->getArguments($request, [$mock_controller, 'getControllerWithRequestAndRouteMatch']);
     $this->assertEquals(RouteMatch::createFromRequest($request), $arguments[0], 'Ensure that the route match object is passed along as well');
     $this->assertInstanceOf('Psr\\Http\\Message\\ServerRequestInterface', $arguments[1], 'Ensure that the PSR-7 object is passed along as well');
 }