/** * @param \stdClass $obj * @param array $context * @return TwitterExtendedEntity */ public function unserialize($obj, array $context = []) { Assertion::true($this->canUnserialize($obj), 'object is not unserializable'); $sizesObjects = []; if ($obj->sizes) { foreach ($obj->sizes as $sizeName => $sizeObj) { $sizesObjects[$sizeName] = $this->mediaSizeSerializer->unserialize($sizeObj, [TwitterMediaSizeSerializer::NAME_VAR => $sizeName]); } } $variantObjects = []; if ($obj->variants) { foreach ($obj->variants as $variant) { $variantObjects[] = $this->variantMediaSerializer->unserialize($variant); } } return TwitterExtendedEntity::create($obj->id, $obj->media_url, $obj->media_url_https, $obj->url, $obj->display_url, $obj->expanded_url, $sizesObjects, $obj->type, $obj->video_info, $obj->duration_millis, $variantObjects, $this->entityIndicesSerializer->unserialize($obj->indices)); }
/** * @test */ public function itShouldNotUnserializeIllegalObject() { $obj = $this->getInvalidSerializedObject(); $this->setExpectedException(\InvalidArgumentException::class); $this->serializer->unserialize($obj); }