phpbb/tests/cache/cache_test.php
Oleg Pudeyev 8de411cc25 [ticket/10013] Changed cache test to use tests/tmp/cache as cache directory
This is the first step of making the test suite use a single directory
for writing files to, this directory being tests/tmp.

The cache test, instead of tests/cache/tmp, now writes to tests/tmp/cache.

Also remove cache directory in setUp method, in case an earlier test run
did not complete successfully and the cache directory was not cleaned up.

Finally, this change makes the cache test take responsibility over the entire
contents of its cache directory.

PHPBB3-10013
2011-02-12 14:44:53 +01:00

70 lines
1.3 KiB
PHP

<?php
/**
*
* @package testing
* @copyright (c) 2010 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
class phpbb_cache_test extends phpbb_test_case
{
private $cache_dir;
public function __construct()
{
$this->cache_dir = dirname(__FILE__) . '/../tmp/cache';
}
protected function setUp()
{
if (file_exists($this->cache_dir))
{
// cache directory possibly left after aborted
// or failed run earlier
$this->remove_cache_dir();
}
$this->create_cache_dir();
}
protected function tearDown()
{
if (file_exists($this->cache_dir))
{
$this->remove_cache_dir();
}
}
private function create_cache_dir()
{
mkdir($this->cache_dir);
}
private function remove_cache_dir()
{
$iterator = new DirectoryIterator($this->cache_dir);
foreach ($iterator as $file)
{
if ($file != '.' && $file != '..')
{
unlink($this->cache_dir . '/' . $file);
}
}
rmdir($this->cache_dir);
}
public function test_cache_driver_file()
{
$driver = new phpbb_cache_driver_file($this->cache_dir);
$driver->put('test_key', 'test_value');
$driver->save();
$this->assertEquals(
'test_value',
$driver->get('test_key'),
'File ACM put and get'
);
}
}