1c3cf5a6cSMartin Doucha<?php 2c3cf5a6cSMartin Doucha 3*0db5771eSMichael Großeuse dokuwiki\Cache\CacheRenderer; 4*0db5771eSMichael Große 5c3cf5a6cSMartin Douchaclass cache_stalecheck_test extends DokuWikiTest { 6c3cf5a6cSMartin Doucha function test_staleness() { 7c3cf5a6cSMartin Doucha global $ID; 8c3cf5a6cSMartin Doucha 9c3cf5a6cSMartin Doucha $ID = 'stale'; 10c3cf5a6cSMartin Doucha $file = wikiFN($ID); 11c3cf5a6cSMartin Doucha 12c3cf5a6cSMartin Doucha # Prepare test page 13c3cf5a6cSMartin Doucha saveWikiText($ID, 'Fresh', 'Created'); 14c3cf5a6cSMartin Doucha 15c3cf5a6cSMartin Doucha # Create stale cache 16*0db5771eSMichael Große $cache = new CacheRenderer($ID, $file, 'xhtml'); 17c3cf5a6cSMartin Doucha $cache->storeCache('Stale'); 18c3cf5a6cSMartin Doucha $stale = $cache->retrieveCache(); 19c3cf5a6cSMartin Doucha 20c3cf5a6cSMartin Doucha # Prepare stale cache for testing 21c3cf5a6cSMartin Doucha $time = filemtime($file); 22c3cf5a6cSMartin Doucha touch($cache->cache, $time); 23c3cf5a6cSMartin Doucha 24c3cf5a6cSMartin Doucha # Make the test 25c3cf5a6cSMartin Doucha $fresh = p_cached_output($file, 'xhtml', $ID); 26c3cf5a6cSMartin Doucha $this->assertNotEquals($fresh, $stale, 'Stale cache failed to expire'); 27c3cf5a6cSMartin Doucha } 28c3cf5a6cSMartin Doucha} 29ee1dd780SMichael Hamann 30