xref: /dokuwiki/_test/tests/inc/cache_stalecheck.test.php (revision ee1dd7801bf47205b685bdf5477af9b4c2be12d2)
1c3cf5a6cSMartin Doucha<?php
2c3cf5a6cSMartin Doucha
3c3cf5a6cSMartin Douchaclass cache_stalecheck_test extends DokuWikiTest {
4c3cf5a6cSMartin Doucha	function test_staleness() {
5c3cf5a6cSMartin Doucha		global $ID;
6c3cf5a6cSMartin Doucha
7c3cf5a6cSMartin Doucha		$ID = 'stale';
8c3cf5a6cSMartin Doucha		$file = wikiFN($ID);
9c3cf5a6cSMartin Doucha
10c3cf5a6cSMartin Doucha		# Prepare test page
11c3cf5a6cSMartin Doucha		saveWikiText($ID, 'Fresh', 'Created');
12c3cf5a6cSMartin Doucha
13c3cf5a6cSMartin Doucha		# Create stale cache
14c3cf5a6cSMartin Doucha		$cache = new cache_renderer($ID, $file, 'xhtml');
15c3cf5a6cSMartin Doucha		$cache->storeCache('Stale');
16c3cf5a6cSMartin Doucha		$stale = $cache->retrieveCache();
17c3cf5a6cSMartin Doucha
18c3cf5a6cSMartin Doucha		# Prepare stale cache for testing
19c3cf5a6cSMartin Doucha		$time = filemtime($file);
20c3cf5a6cSMartin Doucha		touch($cache->cache, $time);
21c3cf5a6cSMartin Doucha
22c3cf5a6cSMartin Doucha		# Make the test
23c3cf5a6cSMartin Doucha		$fresh = p_cached_output($file, 'xhtml', $ID);
24c3cf5a6cSMartin Doucha		$this->assertNotEquals($fresh, $stale, 'Stale cache failed to expire');
25c3cf5a6cSMartin Doucha	}
26c3cf5a6cSMartin Doucha}
27*ee1dd780SMichael Hamann
28