diff options
Diffstat (limited to '3rdparty/fguillot/picofeed/tests/Client/StreamTest.php')
-rw-r--r-- | 3rdparty/fguillot/picofeed/tests/Client/StreamTest.php | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/3rdparty/fguillot/picofeed/tests/Client/StreamTest.php b/3rdparty/fguillot/picofeed/tests/Client/StreamTest.php new file mode 100644 index 000000000..8b2e2f8b8 --- /dev/null +++ b/3rdparty/fguillot/picofeed/tests/Client/StreamTest.php @@ -0,0 +1,63 @@ +<?php +namespace PicoFeed\Client; + +use PHPUnit_Framework_TestCase; + + +class StreamTest extends PHPUnit_Framework_TestCase +{ + public function testChunkedResponse() + { + $client = new Stream; + $client->setUrl('http://www.reddit.com/r/dwarffortress/.rss'); + $result = $client->doRequest(); + + $this->assertEquals('</rss>', substr($result['body'], -6)); + } + + public function testDownload() + { + $client = new Stream; + $client->setUrl('https://github.com/fguillot/picoFeed'); + $result = $client->doRequest(); + + $this->assertEquals(200, $result['status']); + $this->assertEquals('text/html; charset=utf-8', $result['headers']['Content-Type']); + $this->assertEquals('<!DOCTYPE html>', substr(trim($result['body']), 0, 15)); + $this->assertEquals('</html>', substr(trim($result['body']), -7)); + } + + public function testRedirect() + { + $client = new Stream; + $client->setUrl('http://github.com/fguillot/picoFeed'); + $result = $client->doRequest(); + + $this->assertEquals(200, $result['status']); + $this->assertEquals('<!DOCTYPE html>', substr(trim($result['body']), 0, 15)); + $this->assertEquals('text/html; charset=utf-8', $result['headers']['Content-Type']); + } + + /** + * @expectedException PicoFeed\Client\InvalidUrlException + */ + public function testBadUrl() + { + $client = new Stream; + $client->setUrl('http://12345gfgfgf'); + $client->setTimeout(1); + $client->doRequest(); + } + + public function testDecodeGzip() + { + if (function_exists('gzdecode')) { + $client = new Stream; + $client->setUrl('https://github.com/fguillot/picoFeed'); + $result = $client->doRequest(); + + $this->assertEquals('gzip', $result['headers']['Content-Encoding']); + $this->assertEquals('<!DOC', substr(trim($result['body']), 0, 5)); + } + } +}
\ No newline at end of file |