示例#1
0
 protected function doTransformLink(array $data)
 {
     $link = new Link();
     isset($data[self::LINK_KEY_HREF]) && $link->setHref($data[self::LINK_KEY_HREF]);
     isset($data[self::LINK_KEY_TEMPLATED]) && $link->setTemplated($data[self::LINK_KEY_TEMPLATED]);
     isset($data[self::LINK_KEY_TYPE]) && $link->setType($data[self::LINK_KEY_TYPE]);
     isset($data[self::LINK_KEY_DEPRECATION]) && $link->setDeprecation($data[self::LINK_KEY_DEPRECATION]);
     isset($data[self::LINK_KEY_NAME]) && $link->setName($data[self::LINK_KEY_NAME]);
     isset($data[self::LINK_KEY_PROFILE]) && $link->setProfile($data[self::LINK_KEY_PROFILE]);
     isset($data[self::LINK_KEY_TITLE]) && $link->setTitle($data[self::LINK_KEY_TITLE]);
     isset($data[self::LINK_KEY_HREFLANG]) && $link->setHreflang($data[self::LINK_KEY_HREFLANG]);
     return $link;
 }
示例#2
0
 public function testWrite()
 {
     $resource = $this->createResource(self::EXAMPLE_URI);
     $resource->setData(['value' => 'bar', 'bar' => 1, 'foo' => true, 'array' => ['bar' => 'foo'], 'arrayOfarrays' => [['bar' => 'foo'], ['foo' => 'bar']], 'arrayOfstrings' => ['foo', 'bar']]);
     $link = new Link('foo');
     $link->setName('name');
     $link->setHreflang('lang');
     $link->setTitle('title');
     $link->setTemplated(true);
     $resource->setLink('quz', $link);
     $resource->setLinks('foo', [$link, new Link('qux')]);
     $subResource = $this->createResource(self::EXAMPLE_URI)->setData(['value' => 'qux']);
     $subResource->addResource('foo', $this->createResource(self::EXAMPLE_URI)->setData(['foo' => 'qux']));
     $subResource->addResource('baz', $this->createResource()->setData(['foo' => 'qux']));
     $resource->addResources('baz', [$subResource, $this->createResource()->setData(['baz' => 'foo'])]);
     $subResource->linkResource('qux', $this->createResource(self::EXAMPLE_URI)->setData([])->setTitle('qux'));
     $subResource->linkResources('foo', [$this->createResource(self::EXAMPLE_URI)->setData([]), $this->createResource(self::EXAMPLE_URI)->setData([])]);
     $formatter = new $this->class(true);
     $this->assertSame(trim($this->readResource($this->toPretty)), trim($formatter->execute($resource, true)));
     $formatter = new $this->class(false);
     $this->assertSame(trim($this->readResource($this->toNonPretty)), trim($formatter->execute($resource)));
 }
示例#3
0
 public function testGetAttributesEmpty()
 {
     $expected = [];
     $link = new Link();
     $this->assertSame($expected, $link->getAttributes());
 }
示例#4
0
 public function getSelfLink()
 {
     if (!$this->uri) {
         return null;
     }
     $link = new Link($this->getURI());
     if ($title = $this->getTitle()) {
         $link->setTitle($title);
     }
     if ($name = $this->getId()) {
         $link->setName($name);
     }
     return $link;
 }