You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cacert-testmgr/external/ZendFramework-1.9.5/tests/Zend/Cache/FileBackendTest.php

132 lines
3.8 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: FileBackendTest.php 17363 2009-08-03 07:40:18Z bkarwin $
*/
/**
* Zend_Cache
*/
require_once 'Zend/Cache.php';
require_once 'Zend/Cache/Backend/File.php';
/**
* Zend_Log
*/
require_once 'Zend/Log.php';
require_once 'Zend/Log/Writer/Null.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_FileBackendTest extends Zend_Cache_CommonExtendedBackendTest {
protected $_instance;
protected $_instance2;
protected $_cache_dir;
public function __construct($name = null, array $data = array(), $dataName = '')
{
parent::__construct('Zend_Cache_Backend_File', $data, $dataName);
}
public function setUp($notag = false)
{
$this->mkdir();
$this->_cache_dir = $this->getTmpDir() . DIRECTORY_SEPARATOR;
$this->_instance = new Zend_Cache_Backend_File(array(
'cache_dir' => $this->_cache_dir,
));
$logger = new Zend_Log(new Zend_Log_Writer_Null());
$this->_instance->setDirectives(array('logger' => $logger));
parent::setUp($notag);
}
public function tearDown()
{
parent::tearDown();
unset($this->_instance);
}
public function testConstructorCorrectCall()
{
$test = new Zend_Cache_Backend_File(array());
}
public function testConstructorWithABadFileNamePrefix()
{
try {
$class = new Zend_Cache_Backend_File(array(
'file_name_prefix' => 'foo bar'
));
} catch (Zend_Cache_Exception $e) {
return;
}
$this->fail('Zend_Cache_Exception was expected but not thrown');
}
public function testGetWithANonExistingCacheIdAndANullLifeTime()
{
$this->_instance->setDirectives(array('lifetime' => null));
$this->assertFalse($this->_instance->load('barbar'));
}
public function testSaveCorrectCallWithHashedDirectoryStructure()
{
$this->_instance->setOption('hashed_directory_level', 2);
$res = $this->_instance->save('data to cache', 'foo', array('tag1', 'tag2'));
$this->assertTrue($res);
}
public function testCleanModeAllWithHashedDirectoryStructure()
{
$this->_instance->setOption('hashed_directory_level', 2);
$this->assertTrue($this->_instance->clean('all'));
$this->assertFalse($this->_instance->test('bar'));
$this->assertFalse($this->_instance->test('bar2'));
}
public function testSaveWithABadCacheDir()
{
$this->_instance->setOption('cache_dir', '/foo/bar/lfjlqsdjfklsqd/');
$res = $this->_instance->save('data to cache', 'foo', array('tag1', 'tag2'));
$this->assertFalse($res);
}
}