. * */ namespace OCA\News\Utility; require_once(__DIR__ . "/../../classloader.php"); class TwitterFetcherTest extends \OCA\AppFramework\Utility\TestUtility { private $fetcher; private $twitter; protected function setUp(){ $this->fetcher = $this->getMockBuilder('\OCA\News\Utility\FeedFetcher') ->disableOriginalConstructor() ->getMock(); $this->twitter = new TwitterFetcher($this->fetcher); } public function testCanHandle(){ $urls = array( 'https://twitter.com/GeorgeTakei', 'https://www.twitter.com/GeorgeTakei', 'http://twitter.com/GeorgeTakei', 'http://www.twitter.com/GeorgeTakei', 'www.twitter.com/GeorgeTakei', 'twitter.com/GeorgeTakei' ); foreach($urls as $url){ $this->assertTrue($this->twitter->canHandle($url), $url); } } public function testCanHandleDoesNotUseApiUrls(){ $url = 'https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=GeorgeTakei'; $this->assertFalse($this->twitter->canHandle($url)); } public function testFetch(){ $inUrl = 'https://www.twitter.com/GeorgeTakei'; $outUrl = 'https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=GeorgeTakei'; $out = 'hi'; $this->fetcher->expects($this->once()) ->method('fetch') ->with($this->equalTo($outUrl)) ->will($this->returnValue($out)); $return = $this->twitter->fetch($inUrl); $this->assertEquals($out, $return); } }