]>
git.immae.eu Git - github/shaarli/Shaarli.git/blob - tests/feed/CachedPageTest.php
5 namespace Shaarli\Feed
;
8 * Unitary tests for cached pages
10 class CachedPageTest
extends \Shaarli\TestCase
12 // test cache directory
13 protected static $testCacheDir = 'sandbox/pagecache';
14 protected static $url = 'http://shaar.li/feed/atom';
15 protected static $filename;
18 * Create the cache directory if needed
20 public static function setUpBeforeClass(): void
22 if (!is_dir(self
::$testCacheDir)) {
23 mkdir(self
::$testCacheDir);
25 self
::$filename = self
::$testCacheDir . '/' . sha1(self
::$url) . '.cache';
29 * Reset the page cache
31 protected function setUp(): void
33 if (file_exists(self
::$filename)) {
34 unlink(self
::$filename);
39 * Create a new cached page
41 public function testConstruct()
43 new CachedPage(self
::$testCacheDir, '', true);
44 new CachedPage(self
::$testCacheDir, '', false);
45 new CachedPage(self
::$testCacheDir, 'http://shaar.li/feed/rss', true);
46 new CachedPage(self
::$testCacheDir, 'http://shaar.li/feed/atom', false);
47 $this->addToAssertionCount(1);
51 * Cache a page's content
53 public function testCache()
55 $page = new CachedPage(self
::$testCacheDir, self
::$url, true);
57 $this->assertFileNotExists(self
::$filename);
58 $page->cache('<p>Some content</p>');
59 $this->assertFileExists(self
::$filename);
61 '<p>Some content</p>',
62 file_get_contents(self
::$filename)
67 * "Cache" a page's content - the page is not to be cached
69 public function testShouldNotCache()
71 $page = new CachedPage(self
::$testCacheDir, self
::$url, false);
73 $this->assertFileNotExists(self
::$filename);
74 $page->cache('<p>Some content</p>');
75 $this->assertFileNotExists(self
::$filename);
79 * Return a page's cached content
81 public function testCachedVersion()
83 $page = new CachedPage(self
::$testCacheDir, self
::$url, true);
85 $this->assertFileNotExists(self
::$filename);
86 $page->cache('<p>Some content</p>');
87 $this->assertFileExists(self
::$filename);
89 '<p>Some content</p>',
90 $page->cachedVersion()
95 * Return a page's cached content - the file does not exist
97 public function testCachedVersionNoFile()
99 $page = new CachedPage(self
::$testCacheDir, self
::$url, true);
101 $this->assertFileNotExists(self
::$filename);
104 $page->cachedVersion()
109 * Return a page's cached content - the page is not to be cached
111 public function testNoCachedVersion()
113 $page = new CachedPage(self
::$testCacheDir, self
::$url, false);
115 $this->assertFileNotExists(self
::$filename);
118 $page->cachedVersion()