/** * @param \stdClass $obj * @param array $context * @return TwitterMedia */ 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]); } } return TwitterMedia::create($obj->id, $obj->media_url, $obj->media_url_https, $obj->url, $obj->display_url, $obj->expanded_url, $sizesObjects, $obj->type, $this->entityIndicesSerializer->unserialize($obj->indices)); }
/** * @param \stdClass $obj * @param array $context * @return TwitterSymbol */ public function unserialize($obj, array $context = []) { Assertion::true($this->canUnserialize($obj), 'object is not unserializable'); return TwitterSymbol::create($obj->text, $this->entityIndicesSerializer->unserialize($obj->indices)); }
/** * @param \stdClass $obj * @param array $context * @return TwitterUrl */ public function unserialize($obj, array $context = []) { Assertion::true($this->canUnserialize($obj), 'object is not unserializable'); return TwitterUrl::create($obj->url, $obj->display_url, $obj->expanded_url, $this->entityIndicesSerializer->unserialize($obj->indices)); }
/** * @test */ public function itShouldNotUnserializeIllegalObject() { $obj = $this->getIllegalObject(); $this->setExpectedException(\InvalidArgumentException::class); $this->serviceUnderTest->unserialize($obj); }