public function testSerializeLinks()
 {
     $links = array(new Link('self', '/users/42', array('awesome' => 'exactly')), new Link('foo', '/bar'), new Link('foo', '/baz'), new Link('bar', '/foo'), new Link('bar', '/baz'), new Link('bar', '/buzz'));
     $expectedSerializedLinks = array('self' => array('href' => '/users/42', 'awesome' => 'exactly'), 'foo' => array(array('href' => '/bar'), array('href' => '/baz')), 'bar' => array(array('href' => '/foo'), array('href' => '/baz'), array('href' => '/buzz')));
     $jsonSerializationVisitorProphecy = $this->prophesize('JMS\\Serializer\\JsonSerializationVisitor');
     $jsonSerializationVisitorProphecy->addData('_links', $expectedSerializedLinks)->shouldBeCalledTimes(1);
     $jsonHalSerializer = new JsonHalSerializer();
     $jsonHalSerializer->serializeLinks($links, $jsonSerializationVisitorProphecy->reveal());
 }
Exemplo n.º 2
0
 public function testSerializeCuriesWithMultipleEntriesShouldBeAnArray()
 {
     $links = array(new Link('self', '/users/42'), new Link('curies', '/rels/{rel}', array('name' => 'p')), new Link('curies', '/foo/rels/{rel}', array('name' => 'foo')));
     $expectedSerializedLinks = array('self' => array('href' => '/users/42'), 'curies' => array(array('href' => '/rels/{rel}', 'name' => 'p'), array('href' => '/foo/rels/{rel}', 'name' => 'foo')));
     $contextProphecy = $this->prophesize('JMS\\Serializer\\SerializationContext');
     $jsonSerializationVisitorProphecy = $this->prophesize('JMS\\Serializer\\JsonSerializationVisitor');
     $jsonSerializationVisitorProphecy->addData('_links', $expectedSerializedLinks)->shouldBeCalledTimes(1);
     $jsonHalSerializer = new JsonHalSerializer();
     $jsonHalSerializer->serializeLinks($links, $jsonSerializationVisitorProphecy->reveal(), $contextProphecy->reveal());
 }