[ Index ] |
PHP Cross Reference of DokuWiki |
[Summary view] [Print] [Text view]
1 <?php 2 3 use dokuwiki\Cache\CacheRenderer; 4 5 /** 6 * Class cache_use_test 7 * 8 * Tests if caching can actually be used 9 * 10 * @todo tests marked as flaky until Ticket #694 has been fixed 11 */ 12 class cache_use_test extends DokuWikiTest { 13 /** @var CacheRenderer $cache */ 14 private $cache; 15 16 function setUp() : void { 17 global $ID, $conf; 18 parent::setUp(); 19 20 $ID = 'cached'; 21 $file = wikiFN($ID); 22 $conf['cachetime'] = 0; // ensure the value is not -1, which disables caching 23 24 saveWikiText($ID, 'Content', 'Created'); 25 26 $this->cache = new CacheRenderer($ID, $file, 'xhtml'); 27 $this->cache->storeCache('Test'); 28 29 // set the modification times explicitly (overcome Issue #694) 30 $time = time(); 31 touch($file, $time-1); 32 touch($this->cache->cache, $time); 33 } 34 35 /** 36 * In all the following tests the cache should not be usable 37 * as such, they are meaningless if test_use didn't pass. 38 * 39 * @group flaky 40 */ 41 function test_purge() { 42 /* @var Input $INPUT */ 43 global $INPUT; 44 $INPUT->set('purge',1); 45 46 $this->assertFalse($this->cache->useCache()); 47 $this->assertNotEmpty($this->cache->depends['purge']); 48 } 49 50 /** 51 * @group flaky 52 */ 53 function test_filedependency() { 54 // give the dependent src file the same mtime as the cache 55 touch($this->cache->file, filemtime($this->cache->cache)); 56 $this->assertFalse($this->cache->useCache()); 57 } 58 59 /** 60 * @group flaky 61 */ 62 function test_age() { 63 // need to age both our source file & the cache 64 $age = 10; 65 $time = time() - $age - 1; // older than age 66 67 touch($this->cache->file, $time - 1); 68 touch($this->cache->cache, $time); 69 70 $this->assertFalse($this->cache->useCache(array('age' => $age))); 71 } 72 73 /** 74 * @group flaky 75 */ 76 function test_confnocaching() { 77 global $conf; 78 $conf['cachetime'] = -1; // disables renderer caching 79 80 $this->assertFalse($this->cache->useCache()); 81 $this->assertNotEmpty($this->cache->isNoCache()); 82 } 83 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body