/** * @param string $routeName * @param array $parameters * @param null|string $tokenSeparator * * @return string */ public function generate($routeName, array $parameters = [], $tokenSeparator = null) { return $this->pubSubRouter->generate($routeName, $parameters, $tokenSeparator); }
public function testGenerateWithoutContext() { //without context $routeCollection = $this->prophesize(RouteCollection::CLASS); $matcher = $this->prophesize(Matcher::CLASS); $routeLoader = $this->prophesize(RouteLoader::CLASS); $generator = $this->prophesize(Generator::CLASS); $generator->generate('foo', ['foo' => 'bar'], '/')->shouldBeCalled(); $router = new Router($routeCollection->reveal(), $matcher->reveal(), $generator->reveal(), $routeLoader->reveal()); $router->generate('foo', ['foo' => 'bar'], '/'); //with context $generator = $this->prophesize(Generator::CLASS); $generator->generate('foo', ['foo' => 'bar'], ':')->shouldBeCalled(); $router = new Router($routeCollection->reveal(), $matcher->reveal(), $generator->reveal(), $routeLoader->reveal()); $context = $this->prophesize(RouterContext::CLASS); $context->getTokenSeparator()->willReturn(':'); $router->setContext($context->reveal()); $router->generate('foo', ['foo' => 'bar'], null); //with context override $generator = $this->prophesize(Generator::CLASS); $generator->generate('foo', ['foo' => 'bar'], '/')->shouldBeCalled(); $router = new Router($routeCollection->reveal(), $matcher->reveal(), $generator->reveal(), $routeLoader->reveal()); $context = $this->prophesize(RouterContext::CLASS); $context->getTokenSeparator()->willReturn(':'); $router->setContext($context->reveal()); $router->generate('foo', ['foo' => 'bar'], '/'); }