mirror of
https://github.com/phpbb/phpbb.git
synced 2025-10-10 14:34:39 +02:00
* upstream/develop: (666 commits) [ticket/11077] Remove code from old global announcements system [ticket/11189] Replace DEBUG_EXTRA with DEBUG [ticket/11189] Always log critical errors when in cron or in image output [ticket/11187] Added a blank array to fix errors in functional tests [ticket/10780] Make L_COLON available in the installer. [ticket/11183] Remove $load_extensions and weird dl() calls [ticket/10970] Added extra documentation to parse_dynamic_path. [ticket/10939] Added documentation for phpbb_request::file [ticket/10865] Use code tags for install/database_update.php. [ticket/10865] Should have been a slash. [ticket/10780] Use L_COLON on LDAP page. [ticket/10780] Use L_COLON on search backend ACP pages. [ticket/10780] Use L_COLON for "download all attachments". [ticket/10780] Use colon from language in ucp_pm_compose.php where possible. [ticket/10780] Replace colons in phpBB/adm/style/acp_ext_details.html. [ticket/10780] Replace colon usage in adm template output with {L_COLON} [ticket/10780] Replace colon usage in template output with {L_COLON} [ticket/11181] Bump PHP requirement to 5.3.3 (from 5.3.2) [develop-olympus] [ticket/11181] Bump PHP requirement to 5.3.3 (from 5.3.2) [ticket/10172] Show prosilver birthday list even if there are no birthdays. ... Conflicts: phpBB/common.php phpBB/download/file.php phpBB/includes/db/dbal.php phpBB/includes/db/firebird.php phpBB/includes/db/mssql.php phpBB/includes/db/mssql_odbc.php phpBB/includes/db/mssqlnative.php phpBB/includes/db/mysql.php phpBB/includes/db/mysqli.php phpBB/includes/db/oracle.php phpBB/includes/db/postgres.php phpBB/includes/db/sqlite.php phpBB/includes/extension/manager.php phpBB/install/database_update.php
111 lines
2.3 KiB
PHP
111 lines
2.3 KiB
PHP
<?php
|
|
/**
|
|
*
|
|
* @package testing
|
|
* @copyright (c) 2010 phpBB Group
|
|
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
|
*
|
|
*/
|
|
|
|
require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
|
|
|
|
class phpbb_cache_test extends phpbb_database_test_case
|
|
{
|
|
private $cache_dir;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->cache_dir = dirname(__FILE__) . '/../tmp/cache/';
|
|
}
|
|
|
|
public function getDataSet()
|
|
{
|
|
return $this->createXMLDataSet(dirname(__FILE__) . '/fixtures/config.xml');
|
|
}
|
|
|
|
protected function setUp()
|
|
{
|
|
parent::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();
|
|
}
|
|
|
|
parent::tearDown();
|
|
}
|
|
|
|
private function create_cache_dir()
|
|
{
|
|
$this->get_test_case_helpers()->makedirs($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'
|
|
);
|
|
}
|
|
|
|
public function test_cache_sql()
|
|
{
|
|
global $db, $cache;
|
|
|
|
$db = $this->new_dbal();
|
|
|
|
$driver = new phpbb_cache_driver_file($this->cache_dir);
|
|
$cache = new phpbb_cache_service($driver);
|
|
|
|
$sql = "SELECT * FROM phpbb_config
|
|
WHERE config_name = 'foo'";
|
|
$result = $db->sql_query($sql, 300);
|
|
$first_result = $db->sql_fetchrow($result);
|
|
|
|
$this->assertFileExists($this->cache_dir . 'sql_' . md5(preg_replace('/[\n\r\s\t]+/', ' ', $sql)) . '.php');
|
|
|
|
$sql = "SELECT * FROM phpbb_config
|
|
WHERE config_name = 'foo'";
|
|
$result = $db->sql_query($sql, 300);
|
|
|
|
$this->assertEquals($first_result, $db->sql_fetchrow($result));
|
|
|
|
$sql = "SELECT * FROM phpbb_config
|
|
WHERE config_name = 'bar'";
|
|
$result = $db->sql_query($sql, 300);
|
|
|
|
$this->assertNotEquals($first_result, $db->sql_fetchrow($result));
|
|
|
|
$db->sql_close();
|
|
}
|
|
}
|