summaryrefslogtreecommitdiffstats
path: root/3rdparty/fguillot/picofeed/tests/Client/ClientTest.php
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/fguillot/picofeed/tests/Client/ClientTest.php')
-rw-r--r--3rdparty/fguillot/picofeed/tests/Client/ClientTest.php83
1 files changed, 83 insertions, 0 deletions
diff --git a/3rdparty/fguillot/picofeed/tests/Client/ClientTest.php b/3rdparty/fguillot/picofeed/tests/Client/ClientTest.php
new file mode 100644
index 000000000..98a963644
--- /dev/null
+++ b/3rdparty/fguillot/picofeed/tests/Client/ClientTest.php
@@ -0,0 +1,83 @@
+<?php
+namespace PicoFeed\Client;
+
+use PHPUnit_Framework_TestCase;
+
+
+class ClientTest extends PHPUnit_Framework_TestCase
+{
+ public function testDownload()
+ {
+ $client = Client::getInstance();
+ $client->setUrl('http://php.net/robots.txt');
+ $client->execute();
+
+ $this->assertTrue($client->isModified());
+ $this->assertNotEmpty($client->getContent());
+ $this->assertNotEmpty($client->getEtag());
+ $this->assertNotEmpty($client->getLastModified());
+ }
+
+
+ public function testCacheEtag()
+ {
+ $client = Client::getInstance();
+ $client->setUrl('http://php.net/robots.txt');
+ $client->execute();
+ $etag = $client->getEtag();
+
+ $client = Client::getInstance();
+ $client->setUrl('http://php.net/robots.txt');
+ $client->setEtag($etag);
+ $client->execute();
+
+ $this->assertFalse($client->isModified());
+ }
+
+
+ public function testCacheLastModified()
+ {
+ $client = Client::getInstance();
+ $client->setUrl('http://miniflux.net/humans.txt');
+ $client->execute();
+ $lastmod = $client->getLastModified();
+
+ $client = Client::getInstance();
+ $client->setUrl('http://miniflux.net/humans.txt');
+ $client->setLastModified($lastmod);
+ $client->execute();
+
+ $this->assertFalse($client->isModified());
+ }
+
+
+ public function testCacheBoth()
+ {
+ $client = Client::getInstance();
+ $client->setUrl('http://miniflux.net/humans.txt');
+ $client->execute();
+ $lastmod = $client->getLastModified();
+ $etag = $client->getEtag();
+
+ $client = Client::getInstance();
+ $client->setUrl('http://miniflux.net/humans.txt');
+ $client->setLastModified($lastmod);
+ $client->setEtag($etag);
+ $client->execute();
+
+ $this->assertFalse($client->isModified());
+ }
+
+ public function testCharset()
+ {
+ $client = Client::getInstance();
+ $client->setUrl('http://php.net/');
+ $client->execute();
+ $this->assertEquals('utf-8', $client->getEncoding());
+
+ $client = Client::getInstance();
+ $client->setUrl('http://php.net/robots.txt');
+ $client->execute();
+ $this->assertEquals('', $client->getEncoding());
+ }
+} \ No newline at end of file