public function testEmbeddedRelationIsMergedWithCustomRelations() { $collection = new CollectionRepresentation(array('Adrien', 'William'), 'authors', null, null, null, array(new Relation('custom', new Route('/custom')))); $collection->setXmlElementName('users'); $this->assertSame(<<<XML <?xml version="1.0" encoding="UTF-8"?> <collection> <link rel="custom" href="/custom"/> <users rel="authors"> <entry><![CDATA[Adrien]]></entry> <entry><![CDATA[William]]></entry> </users> </collection> XML , $this->hateoas->serialize($collection, 'xml')); $this->assertSame(<<<XML <?xml version="1.0" encoding="UTF-8"?> <collection> <link rel="custom" href="/custom"/> <resource rel="authors"><![CDATA[Adrien]]></resource> <resource rel="authors"><![CDATA[William]]></resource> </collection> XML , $this->halHateoas->serialize($collection, 'xml')); $this->assertSame(<<<JSON { "_links": { "custom": { "href": "\\/custom" } }, "_embedded": { "authors": [ "Adrien", "William" ] } } JSON , $this->json($this->halHateoas->serialize($collection, 'json'))); }
public function __construct(array $items, $datasource) { parent::__construct($items, 'items'); $this->datasource = $datasource; $this->total = count($items); }