public function testImgurFail()
 {
     $imgurClient = $this->getMockBuilder('Imgur\\Client')->disableOriginalConstructor()->getMock();
     $imgurClient->expects($this->any())->method('api')->will($this->throwException(new \Guzzle\Http\Exception\RequestException()));
     $imgur = new Imgur($imgurClient);
     $logHandler = new TestHandler();
     $logger = new Logger('test', array($logHandler));
     $imgur->setLogger($logger);
     $imgur->match('http://imgur.com/gallery/IoKwI7E');
     $this->assertEmpty($imgur->getContent());
     $this->assertTrue($logHandler->hasWarning('Imgur extract failed for: IoKwI7E'), 'Warning message matched');
 }
 public function testContentBadResponse()
 {
     $twitterOAuth = $this->getMockBuilder('TwitterOAuth\\TwitterOAuth')->disableOriginalConstructor()->getMock();
     $twitterOAuth->expects($this->once())->method('get')->will($this->throwException(new TwitterException()));
     $twitter = new Twitter($twitterOAuth);
     $logHandler = new TestHandler();
     $logger = new Logger('test', array($logHandler));
     $twitter->setLogger($logger);
     $twitter->match('https://twitter.com/DoerteDev/statuses/506522223860277248');
     $this->assertEmpty($twitter->getContent());
     $this->assertTrue($logHandler->hasWarning('Twitter extract failed for: 506522223860277248'), 'Warning message matched');
 }
 public function testContentWithException()
 {
     $client = new Client();
     $mock = new Mock([new Response(400, [], Stream::factory('oops'))]);
     $client->getEmitter()->attach($mock);
     $camplus = new Camplus();
     $camplus->setClient($client);
     $logHandler = new TestHandler();
     $logger = new Logger('test', array($logHandler));
     $camplus->setLogger($logger);
     $camplus->match('http://campl.us/rL9Q');
     // this one will catch an exception
     $this->assertEmpty($camplus->getContent());
     $this->assertTrue($logHandler->hasWarning('Camplus extract failed for: rL9Q'), 'Warning message matched');
 }
 public function testContentWithException()
 {
     $client = new Client();
     $mock = new Mock([new Response(400, [], Stream::factory('oops'))]);
     $client->getEmitter()->attach($mock);
     $deviantart = new Deviantart();
     $deviantart->setClient($client);
     $logHandler = new TestHandler();
     $logger = new Logger('test', array($logHandler));
     $deviantart->setLogger($logger);
     $deviantart->match('http://mibreit.deviantart.com/art/A-Piece-of-Heaven-357105002');
     // this one will catch an exception
     $this->assertEmpty($deviantart->getContent());
     $this->assertTrue($logHandler->hasWarning('Deviantart extract failed for: http://mibreit.deviantart.com/art/A-Piece-of-Heaven-357105002'), 'Warning message matched');
 }
 public function testPhotoSet()
 {
     $client = new Client();
     $mock = new Mock([new Response(200, [], Stream::factory(json_encode(array('stat' => 'ok', 'photoset' => array('photo' => array(array('title' => 'Super title', 'url_l' => 'https://0.0.0.0/medium.jpg'), array('title' => 'Ugly title', 'url_o' => 'https://0.0.0.0/large.jpg'))))))), new Response(200, [], Stream::factory('')), new Response(400, [], Stream::factory('oops'))]);
     $client->getEmitter()->attach($mock);
     $flickr = new Flickr('apikey');
     $flickr->setClient($client);
     $logHandler = new TestHandler();
     $logger = new Logger('test', array($logHandler));
     $flickr->setLogger($logger);
     // first test fail because we didn't match an url, so FlickrId isn't defined
     $this->assertEmpty($flickr->getContent());
     $flickr->match('https://www.flickr.com/photos/europeanspaceagency/sets/72157638315605535/');
     // consecutive calls
     $this->assertContains('<div><p>Super title</p><img src="https://0.0.0.0/medium.jpg" /></div>', $flickr->getContent());
     // this one will got an empty array
     $this->assertEmpty($flickr->getContent());
     // this one will catch an exception
     $this->assertEmpty($flickr->getContent());
     $this->assertTrue($logHandler->hasWarning('Flickr extract failed for: 72157638315605535'), 'Warning message matched');
 }
 public function testContent()
 {
     $client = new Client();
     $mock = new Mock([new Response(200, [], Stream::factory(json_encode(array('video' => array('title' => 'my title', 'thumbnail_url' => 'http://0.0.0.0/img.jpg', 'embed_url' => 'http://0.0.0.0/embed'))))), new Response(200, [], Stream::factory('')), new Response(400, [], Stream::factory('oops'))]);
     $client->getEmitter()->attach($mock);
     $vidme = new Vidme();
     $vidme->setClient($client);
     $logHandler = new TestHandler();
     $logger = new Logger('test', array($logHandler));
     $vidme->setLogger($logger);
     // first test fail because we didn't match an url, so VidmeId isn't defined
     $this->assertEmpty($vidme->getContent());
     $vidme->match('https://vid.me/WaJr');
     // consecutive calls
     $this->assertEquals('<div><h2>my title</h2><p><img src="http://0.0.0.0/img.jpg"></p><iframe src="http://0.0.0.0/embed"></iframe></div>', $vidme->getContent());
     // this one will got an empty array
     $this->assertEmpty($vidme->getContent());
     // this one will catch an exception
     $this->assertEmpty($vidme->getContent());
     $this->assertTrue($logHandler->hasWarning('Vidme extract failed for: https://vid.me/WaJr'), 'Warning message matched');
 }
 public function testContent()
 {
     $client = new Client();
     $mock = new Mock([new Response(200, [], Stream::factory(json_encode(array('title' => 'my title', 'description' => 'my description', 'thumbnail_url' => 'http://0.0.0.0/img.jpg', 'html' => '<iframe/>')))), new Response(200, [], Stream::factory('')), new Response(400, [], Stream::factory('oops'))]);
     $client->getEmitter()->attach($mock);
     $soundCloud = new Soundcloud();
     $soundCloud->setClient($client);
     $logHandler = new TestHandler();
     $logger = new Logger('test', array($logHandler));
     $soundCloud->setLogger($logger);
     // first test fail because we didn't match an url, so SoundcloudUrl isn't defined
     $this->assertEmpty($soundCloud->getContent());
     $soundCloud->match('https://soundcloud.com/birdfeeder/jurassic-park-theme-1000-slower');
     // consecutive calls
     $this->assertEquals('<div><h2>my title</h2><p>my description</p><p><img src="http://0.0.0.0/img.jpg"></p><iframe/></div>', $soundCloud->getContent());
     // this one will got an empty array
     $this->assertEmpty($soundCloud->getContent());
     // this one will catch an exception
     $this->assertEmpty($soundCloud->getContent());
     $this->assertTrue($logHandler->hasWarning('Soundcloud extract failed for: https://soundcloud.com/birdfeeder/jurassic-park-theme-1000-slower'), 'Warning message matched');
 }
 public function testContent()
 {
     $client = new Client();
     $mock = new Mock([new Response(200, [], Stream::factory(json_encode(array('title' => 'my title', 'thumbnail_url' => 'http://0.0.0.0/img.jpg', 'html' => '<iframe/>')))), new Response(200, [], Stream::factory('')), new Response(400, [], Stream::factory('oops'))]);
     $client->getEmitter()->attach($mock);
     $dailymotion = new Dailymotion();
     $dailymotion->setClient($client);
     $logHandler = new TestHandler();
     $logger = new Logger('test', array($logHandler));
     $dailymotion->setLogger($logger);
     // first test fail because we didn't match an url, so DailymotionUrl isn't defined
     $this->assertEmpty($dailymotion->getContent());
     $dailymotion->match('https://www.dailymotion.com/video/xockol_planete-des-hommes-partie-1-2_travel');
     // consecutive calls
     $this->assertEquals('<div><h2>my title</h2><p><img src="http://0.0.0.0/img.jpg"></p><iframe/></div>', $dailymotion->getContent());
     // this one will got an empty array
     $this->assertEmpty($dailymotion->getContent());
     // this one will catch an exception
     $this->assertEmpty($dailymotion->getContent());
     $this->assertTrue($logHandler->hasWarning('Dailymotion extract failed for: https://www.dailymotion.com/video/xockol_planete-des-hommes-partie-1-2_travel'), 'Warning message matched');
 }
 public function testContent()
 {
     $client = new Client();
     $mock = new Mock([new Response(200, [], Stream::factory(json_encode(array('gfyItem' => array('title' => 'my title', 'gifUrl' => 'http://0.0.0.0/img.gif'))))), new Response(200, [], Stream::factory('')), new Response(400, [], Stream::factory('oops'))]);
     $client->getEmitter()->attach($mock);
     $gfycat = new Gfycat();
     $gfycat->setClient($client);
     $logHandler = new TestHandler();
     $logger = new Logger('test', array($logHandler));
     $gfycat->setLogger($logger);
     // first test fail because we didn't match an url, so GfycatId isn't defined
     $this->assertEmpty($gfycat->getContent());
     $gfycat->match('http://gfycat.com/SingleUntriedBudgie');
     // consecutive calls
     $this->assertEquals('<div><h2>my title</h2><p><img src="http://0.0.0.0/img.gif"></p></div>', $gfycat->getContent());
     // this one will got an empty array
     $this->assertEmpty($gfycat->getContent());
     // this one will catch an exception
     $this->assertEmpty($gfycat->getContent());
     $this->assertTrue($logHandler->hasWarning('Gfycat extract failed for: SingleUntriedBudgie'), 'Warning message matched');
 }
 public function testContent()
 {
     $client = new Client();
     $mock = new Mock([new Response(200, ['X-Tumblr-User' => 'test']), new Response(200, ['X-Tumblr-User' => 'test'], Stream::factory(json_encode(array('response' => array('posts' => array(array('body' => '<div>content</div>'))))))), new Response(200, ['X-Tumblr-User' => 'test'], Stream::factory(json_encode(array()))), new Response(400, ['X-Tumblr-User' => 'test'], Stream::factory('oops'))]);
     $client->getEmitter()->attach($mock);
     $tumblr = new Tumblr('apikey');
     $tumblr->setClient($client);
     $logHandler = new TestHandler();
     $logger = new Logger('test', array($logHandler));
     $tumblr->setLogger($logger);
     // first test fail because we didn't match an url, so TumblrId isn't defined
     $this->assertEmpty($tumblr->getContent());
     $tumblr->match('http://thecodinglove.com/post/96365413702/client-giving-us-his-feedback-on-his-new-project');
     // consecutive calls
     $this->assertEquals('<div>content</div>', $tumblr->getContent());
     // this one will got an empty array
     $this->assertEmpty($tumblr->getContent());
     // this one will catch an exception
     $this->assertEmpty($tumblr->getContent());
     $this->assertTrue($logHandler->hasWarning('Tumblr extract failed for: 96365413702 & thecodinglove.com'), 'Warning message matched');
 }
 public function testContent()
 {
     $client = new Client();
     $mock = new Mock([new Response(200, [], Stream::factory(json_encode(array('title' => 'my title', 'thumbnail_url' => 'http://0.0.0.0/img.jpg', 'html' => '<iframe/>')))), new Response(200, [], Stream::factory('')), new Response(400, [], Stream::factory('oops'))]);
     $client->getEmitter()->attach($mock);
     $spotify = new Spotify();
     $spotify->setClient($client);
     $logHandler = new TestHandler();
     $logger = new Logger('test', array($logHandler));
     $spotify->setLogger($logger);
     // first test fail because we didn't match an url, so SpotifyUrl isn't defined
     $this->assertEmpty($spotify->getContent());
     $spotify->match('https://play.spotify.com/artist/4njdEjTnLfcGImKZu1iSrz');
     // consecutive calls
     $this->assertEquals('<div><h2>my title</h2><p><img src="http://0.0.0.0/img.jpg"></p><iframe/></div>', $spotify->getContent());
     // this one will got an empty array
     $this->assertEmpty($spotify->getContent());
     // this one will catch an exception
     $this->assertEmpty($spotify->getContent());
     $this->assertTrue($logHandler->hasWarning('Spotify extract failed for: https://play.spotify.com/artist/4njdEjTnLfcGImKZu1iSrz'), 'Warning message matched');
 }