public function test() { $defaultUrlGenerator = $this->mockUrlGenerator(); $registry = new UrlGeneratorRegistry($defaultUrlGenerator); $this->object($registry->get(UrlGeneratorRegistry::DEFAULT_URL_GENERATOR_KEY))->isEqualTo($defaultUrlGenerator)->object($registry->get())->isEqualTo($defaultUrlGenerator)->exception(function () use($registry) { $registry->get('foo'); })->isInstanceOf('InvalidArgumentException')->hasMessage('The "foo" url generator is not set. Available url generators are: default.')->when($registry->set('foo', $fooUrlGenerator = $this->mockUrlGenerator()))->object($registry->get('foo'))->isEqualTo($fooUrlGenerator); }
public function test() { $defaultUrlGenerator = $this->mockUrlGenerator(); $registry = new UrlGeneratorRegistry($defaultUrlGenerator); $this->assertSame($defaultUrlGenerator, $registry->get(UrlGeneratorRegistry::DEFAULT_URL_GENERATOR_KEY)); $this->assertSame($defaultUrlGenerator, $registry->get()); $exception = null; try { $registry->get('foo'); } catch (\Exception $e) { $exception = $e; } $this->assertInstanceOf('InvalidArgumentException', $exception); $this->assertSame('The "foo" url generator is not set. Available url generators are: default.', $exception->getMessage()); $registry->set('foo', $fooUrlGenerator = $this->mockUrlGenerator()); $this->assertSame($fooUrlGenerator, $registry->get('foo')); }
/** * Add a new URL generator. If you pass `null` as name, it will be the * default URL generator. * * @param string|null $name * @param UrlGeneratorInterface $urlGenerator * * @return HateoasBuilder */ public function setUrlGenerator($name, UrlGeneratorInterface $urlGenerator) { $this->urlGeneratorRegistry->set($name, $urlGenerator); return $this; }