/** * Private function to parse out the media items into typed osapiMediaItems * * @param osapiActivity $activity * @param array $array * @param boolean $strictMode */ private static function convertMediaItems(osapiActivity $activity, array $array, $strictMode) { if (isset($array['mediaItems']) && count($array['mediaItems'])) { $mediaItems = array(); foreach ($array['mediaItems'] as $mediaItem) { $mimeType = isset($mediaItem['mimeType']) ? $mediaItem['mimeType'] : null; $type = isset($mediaItem['type']) ? $mediaItem['type'] : null; $url = isset($mediaItem['url']) ? $mediaItem['url'] : null; if ($strictMode && ($mimeType == null || $type == null || $url == null)) { throw new osapiException("Invalid activity entry, missing fields (mimeType: {$mimeType}, type: {$type}, url: {$url})"); } $mediaItems[] = new osapiMediaItem($mimeType, $type, $url); } $activity->setMediaItems($mediaItems); } unset($array['mediaItems']); }
/** * Tests osapiActivity->getMediaItems() */ public function testGetMediaItems() { $mediaItems = array('foo' => 'bar'); $this->osapiActivity->setMediaItems($mediaItems); $this->assertEquals($mediaItems, $this->osapiActivity->getMediaItems()); }