/**
  * Tests the generate method with passing in a route object into generate().
  *
  * @expectedException \Symfony\Component\Routing\Exception\InvalidParameterException
  */
 public function testGenerateByRoute()
 {
     $this->generator = new ProviderBasedGenerator($this->provider);
     // Setup a route with a numeric parameter, but pass in a string, so it
     // fails and getRouteDebugMessage should be triggered.
     $route = new Route('/test');
     $route->setPath('/test/{number}');
     $route->setRequirement('number', '\\+d');
     $this->generator->setStrictRequirements(true);
     $context = new RequestContext();
     $this->generator->setContext($context);
     $this->assertSame(null, $this->generator->generate($route, array('number' => 'string')));
 }
Exemplo n.º 2
0
 /**
  * {@inheritDoc}
  *
  * @param string $name       ignored.
  * @param array  $parameters must either contain the field 'route' with a
  *                           RouteObjectInterface or the field 'content_id'
  *                           with the id of a document implementing
  *                           RouteReferrersReadInterface.
  *
  * @throws RouteNotFoundException If there is no such route in the database
  */
 public function generate($name, $parameters = array(), $absolute = false)
 {
     if ($name instanceof SymfonyRoute) {
         $route = $this->getBestLocaleRoute($name, $parameters);
     } elseif (is_string($name) && $name) {
         $route = $this->getRouteByName($name, $parameters);
     } else {
         $route = $this->getRouteByContent($name, $parameters);
     }
     if (!$route instanceof SymfonyRoute) {
         $hint = is_object($route) ? get_class($route) : gettype($route);
         throw new RouteNotFoundException('Route of this document is not an instance of Symfony\\Component\\Routing\\Route but: ' . $hint);
     }
     $this->unsetLocaleIfNotNeeded($route, $parameters);
     return parent::generate($route, $parameters, $absolute);
 }