/** * @test */ public function itShouldSerializeWithLegalObject() { $serialized = $this->serializer->serialize($this->getValidObject()); $this->assertEquals($this->url, $serialized->url); $this->assertEquals($this->contentType, $serialized->content_type); $this->assertEquals($this->bitrate, $serialized->bitrate); }
/** * @param TwitterSerializable $object * @return \stdClass */ public function serialize(TwitterSerializable $object) { /* @var TwitterExtendedEntity $object */ Assertion::true($this->canSerialize($object), 'object must be an instance of TwitterExtendedEntity'); $extendedEntity = new \stdClass(); $extendedEntity->id = $object->getId(); $extendedEntity->media_url = $object->getMediaUrl(); $extendedEntity->media_url_https = $object->getMediaUrlHttps(); $extendedEntity->url = $object->getUrl(); $extendedEntity->display_url = $object->getDisplayUrl(); $extendedEntity->expanded_url = $object->getExpandedUrl(); $extendedEntity->type = $object->getType(); $extendedEntity->video_info = $object->getVideoInfo(); $extendedEntity->duration_millis = $object->getDurationMillis(); $extendedEntity->indices = $this->entityIndicesSerializer->serialize($object->getIndices()); $extendedEntity->sizes = []; foreach ($object->getSizes() as $size) { $extendedEntity->sizes[$size->getName()] = $this->mediaSizeSerializer->serialize($size); } $extendedEntity->variants = []; foreach ($object->getVariants() as $variant) { $extendedEntity->variants[] = $this->variantMediaSerializer->serialize($variant); } return $extendedEntity; }