コード例 #1
0
 /**
  * @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));
 }
コード例 #2
0
 /**
  * @test
  */
 public function itShouldNotUnserializeIllegalObject()
 {
     $obj = $this->getInvalidSerializedObject();
     $this->setExpectedException(\InvalidArgumentException::class);
     $this->serializer->unserialize($obj);
 }