118 lines
3.6 KiB
PHP
118 lines
3.6 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* Zend Framework
|
||
|
*
|
||
|
* LICENSE
|
||
|
*
|
||
|
* This source file is subject to the new BSD license that is bundled
|
||
|
* with this package in the file LICENSE.txt.
|
||
|
* It is also available through the world-wide-web at this URL:
|
||
|
* http://framework.zend.com/license/new-bsd
|
||
|
* If you did not receive a copy of the license and are unable to
|
||
|
* obtain it through the world-wide-web, please send an email
|
||
|
* to license@zend.com so we can send you a copy immediately.
|
||
|
*
|
||
|
* @category Zend
|
||
|
* @package Zend_Cache
|
||
|
* @subpackage UnitTests
|
||
|
* @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
|
||
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||
|
* @version $Id: SqliteBackendTest.php 17363 2009-08-03 07:40:18Z bkarwin $
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Zend_Cache
|
||
|
*/
|
||
|
require_once 'Zend/Cache.php';
|
||
|
require_once 'Zend/Cache/Backend/Sqlite.php';
|
||
|
|
||
|
/**
|
||
|
* Common tests for backends
|
||
|
*/
|
||
|
require_once 'CommonExtendedBackendTest.php';
|
||
|
|
||
|
/**
|
||
|
* PHPUnit test case
|
||
|
*/
|
||
|
require_once 'PHPUnit/Framework/TestCase.php';
|
||
|
|
||
|
/**
|
||
|
* @category Zend
|
||
|
* @package Zend_Cache
|
||
|
* @subpackage UnitTests
|
||
|
* @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
|
||
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||
|
* @group Zend_Cache
|
||
|
*/
|
||
|
class Zend_Cache_sqliteBackendTest extends Zend_Cache_CommonExtendedBackendTest {
|
||
|
|
||
|
protected $_instance;
|
||
|
private $_cache_dir;
|
||
|
|
||
|
public function __construct($name = null, array $data = array(), $dataName = '')
|
||
|
{
|
||
|
parent::__construct('Zend_Cache_Backend_Sqlite', $data, $dataName);
|
||
|
}
|
||
|
|
||
|
public function setUp($notag = false)
|
||
|
{
|
||
|
@mkdir($this->getTmpDir());
|
||
|
$this->_cache_dir = $this->getTmpDir() . DIRECTORY_SEPARATOR;
|
||
|
$this->_instance = new Zend_Cache_Backend_Sqlite(array(
|
||
|
'cache_db_complete_path' => $this->_cache_dir . 'cache.db'
|
||
|
));
|
||
|
parent::setUp($notag);
|
||
|
}
|
||
|
|
||
|
public function tearDown()
|
||
|
{
|
||
|
parent::tearDown();
|
||
|
unset($this->_instance);
|
||
|
@unlink($this->_cache_dir . 'cache.db');
|
||
|
$this->rmdir();
|
||
|
}
|
||
|
|
||
|
public function testConstructorCorrectCall()
|
||
|
{
|
||
|
$test = new Zend_Cache_Backend_Sqlite(array('cache_db_complete_path' => $this->_cache_dir . 'cache.db'));
|
||
|
}
|
||
|
|
||
|
public function testConstructorWithABadDBPath()
|
||
|
{
|
||
|
try {
|
||
|
$test = new Zend_Cache_Backend_Sqlite(array('cache_db_complete_path' => '/foo/bar/lfjlqsdjfklsqd/cache.db'));
|
||
|
} catch (Zend_Cache_Exception $e) {
|
||
|
return;
|
||
|
}
|
||
|
$this->fail('Zend_Cache_Exception was expected but not thrown');
|
||
|
}
|
||
|
|
||
|
public function testCleanModeAllWithVacuum()
|
||
|
{
|
||
|
$this->_instance = new Zend_Cache_Backend_Sqlite(array(
|
||
|
'cache_db_complete_path' => $this->_cache_dir . 'cache.db',
|
||
|
'automatic_vacuum_factor' => 1
|
||
|
));
|
||
|
parent::setUp();
|
||
|
$this->assertTrue($this->_instance->clean('all'));
|
||
|
$this->assertFalse($this->_instance->test('bar'));
|
||
|
$this->assertFalse($this->_instance->test('bar2'));
|
||
|
}
|
||
|
|
||
|
public function testRemoveCorrectCallWithVacuum()
|
||
|
{
|
||
|
$this->_instance = new Zend_Cache_Backend_Sqlite(array(
|
||
|
'cache_db_complete_path' => $this->_cache_dir . 'cache.db',
|
||
|
'automatic_vacuum_factor' => 1
|
||
|
));
|
||
|
parent::setUp();
|
||
|
$this->assertTrue($this->_instance->remove('bar'));
|
||
|
$this->assertFalse($this->_instance->test('bar'));
|
||
|
$this->assertFalse($this->_instance->remove('barbar'));
|
||
|
$this->assertFalse($this->_instance->test('barbar'));
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|