+++ /dev/null
-<?php
-/**
- * Cache tests
- */
-
-// required to access $_SESSION array
-session_start();
-
-require_once 'application/Cache.php';
-
-/**
- * Unitary tests for cached pages
- */
-class CacheTest extends PHPUnit_Framework_TestCase
-{
- // test cache directory
- protected static $testCacheDir = 'sandbox/dummycache';
-
- // dummy cached file names / content
- protected static $pages = array('a', 'toto', 'd7b59c');
-
-
- /**
- * Populate the cache with dummy files
- */
- public function setUp()
- {
- if (! is_dir(self::$testCacheDir)) {
- mkdir(self::$testCacheDir);
- } else {
- array_map('unlink', glob(self::$testCacheDir.'/*'));
- }
-
- foreach (self::$pages as $page) {
- file_put_contents(self::$testCacheDir.'/'.$page.'.cache', $page);
- }
- file_put_contents(self::$testCacheDir.'/intru.der', 'ShouldNotBeThere');
- }
-
- /**
- * Remove dummycache folder after each tests.
- */
- public function tearDown()
- {
- array_map('unlink', glob(self::$testCacheDir.'/*'));
- rmdir(self::$testCacheDir);
- }
-
- /**
- * Purge cached pages
- */
- public function testPurgeCachedPages()
- {
- purgeCachedPages(self::$testCacheDir);
- foreach (self::$pages as $page) {
- $this->assertFileNotExists(self::$testCacheDir.'/'.$page.'.cache');
- }
-
- $this->assertFileExists(self::$testCacheDir.'/intru.der');
- }
-
- /**
- * Purge cached pages - missing directory
- */
- public function testPurgeCachedPagesMissingDir()
- {
- $oldlog = ini_get('error_log');
- ini_set('error_log', '/dev/null');
- $this->assertEquals(
- 'Cannot purge sandbox/dummycache_missing: no directory',
- purgeCachedPages(self::$testCacheDir.'_missing')
- );
- ini_set('error_log', $oldlog);
- }
-
- /**
- * Purge cached pages and session cache
- */
- public function testInvalidateCaches()
- {
- $this->assertArrayNotHasKey('tags', $_SESSION);
- $_SESSION['tags'] = array('goodbye', 'cruel', 'world');
-
- invalidateCaches(self::$testCacheDir);
- foreach (self::$pages as $page) {
- $this->assertFileNotExists(self::$testCacheDir.'/'.$page.'.cache');
- }
-
- $this->assertArrayNotHasKey('tags', $_SESSION);
- }
-}