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'));
 }
示例#3
0
 /**
  * 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;
 }