Example #1
0
 /**
  * @coversNothing
  */
 public function testExtract()
 {
     if (!$_ENV['api_key']) {
         $this->markTestSkipped('API key is required.');
     }
     $client = new Client($_ENV['api_key']);
     $extracted = $client->extract(['url' => $_ENV['url']]);
     $this->assertInternalType('array', $extracted);
     $this->assertContains($extracted['type'], ['html', 'text', 'image', 'video', 'audio', 'rss', 'xml', 'atom', 'json', 'ppt', 'link', 'error']);
     $keys = ['authors', 'cache_age', 'content', 'description', 'entities', 'favicon_colors', 'favicon_url', 'images', 'keywords', 'lead', 'media', 'offset', 'original_url', 'provider_display', 'provider_name', 'provider_url', 'published', 'related', 'safe', 'title', 'type', 'url'];
     foreach ($keys as $key) {
         $this->assertArrayHasKey($key, $extracted);
     }
     switch ($extracted['type']) {
         case 'photo':
             $this->assertArrayHasKey('height', $extracted);
             $this->assertArrayHasKey('url', $extracted);
             $this->assertArrayHasKey('width', $extracted);
             break;
         case 'rich':
         case 'video':
             $this->assertArrayHasKey('height', $extracted);
             $this->assertArrayHasKey('html', $extracted);
             $this->assertArrayHasKey('width', $extracted);
             break;
     }
 }