cacert-testmgr/external/ZendFramework-1.9.5/tests/Zend/Cache/CommonExtendedBackendTest.php
Markus Warg 8398c9048d initially import ZendFramework-1.9.5 into repository
code was modified slightly, so the code differs from the original downloadable 1.9.5 version
2010-03-31 10:12:32 +02:00

214 lines
6.7 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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: CommonExtendedBackendTest.php 17363 2009-08-03 07:40:18Z bkarwin $
*/
require_once 'PHPUnit/Util/Filter.php';
PHPUnit_Util_Filter::addFileToFilter(__FILE__);
/**
* PHPUnit test case
*/
require_once 'PHPUnit/Framework/TestCase.php';
/**
* @see Zend_Cache_CommonBackendTest
*/
require_once 'CommonBackendTest.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_CommonExtendedBackendTest extends Zend_Cache_CommonBackendTest {
private $_capabilities;
public function __construct($name = null, array $data = array(), $dataName = '')
{
parent::__construct($name);
}
public function setUp($notag = false)
{
parent::setUp($notag);
$this->_capabilities = $this->_instance->getCapabilities();
}
public function testGetFillingPercentage()
{
$res = $this->_instance->getFillingPercentage();
$this->assertTrue(is_integer($res));
$this->assertTrue($res >= 0);
$this->assertTrue($res <= 100);
}
public function testGetIds()
{
if (!($this->_capabilities['get_list'])) {
# unsupported by this backend
return;
}
$res = $this->_instance->getIds();
$this->assertTrue(count($res) == 3);
$this->assertTrue(in_array('bar', $res));
$this->assertTrue(in_array('bar2', $res));
$this->assertTrue(in_array('bar3', $res));
}
public function testGetTags()
{
if (!($this->_capabilities['tags'])) {
# unsupported by this backend
return;
}
$res = $this->_instance->getTags();
$this->assertTrue(count($res) == 4);
$this->assertTrue(in_array('tag1', $res));
$this->assertTrue(in_array('tag2', $res));
$this->assertTrue(in_array('tag3', $res));
$this->assertTrue(in_array('tag4', $res));
}
public function testGetIdsMatchingTags()
{
if (!($this->_capabilities['tags'])) {
# unsupported by this backend
return;
}
$res = $this->_instance->getIdsMatchingTags(array('tag3'));
$this->assertTrue(count($res) == 3);
$this->assertTrue(in_array('bar', $res));
$this->assertTrue(in_array('bar2', $res));
$this->assertTrue(in_array('bar3', $res));
}
public function testGetIdsMatchingTags2()
{
if (!($this->_capabilities['tags'])) {
# unsupported by this backend
return;
}
$res = $this->_instance->getIdsMatchingTags(array('tag2'));
$this->assertTrue(count($res) == 1);
$this->assertTrue(in_array('bar3', $res));
}
public function testGetIdsMatchingTags3()
{
if (!($this->_capabilities['tags'])) {
# unsupported by this backend
return;
}
$res = $this->_instance->getIdsMatchingTags(array('tag9999'));
$this->assertTrue(count($res) == 0);
}
public function testGetIdsMatchingTags4()
{
if (!($this->_capabilities['tags'])) {
# unsupported by this backend
return;
}
$res = $this->_instance->getIdsMatchingTags(array('tag3', 'tag4'));
$this->assertTrue(count($res) == 1);
$this->assertTrue(in_array('bar', $res));
}
public function testGetIdsNotMatchingTags()
{
if (!($this->_capabilities['tags'])) {
# unsupported by this backend
return;
}
$res = $this->_instance->getIdsNotMatchingTags(array('tag3'));
$this->assertTrue(count($res) == 0);
}
public function testGetIdsNotMatchingTags2()
{
if (!($this->_capabilities['tags'])) {
# unsupported by this backend
return;
}
$res = $this->_instance->getIdsNotMatchingTags(array('tag1'));
$this->assertTrue(count($res) == 2);
$this->assertTrue(in_array('bar', $res));
$this->assertTrue(in_array('bar3', $res));
}
public function testGetIdsNotMatchingTags3()
{
if (!($this->_capabilities['tags'])) {
# unsupported by this backend
return;
}
$res = $this->_instance->getIdsNotMatchingTags(array('tag1', 'tag4'));
$this->assertTrue(count($res) == 1);
$this->assertTrue(in_array('bar3', $res));
}
public function testGetMetadatas($notag = false)
{
$res = $this->_instance->getMetadatas('bar');
$this->assertTrue(isset($res['tags']));
$this->assertTrue(isset($res['mtime']));
$this->assertTrue(isset($res['expire']));
if ($notag) {
$this->assertTrue(count($res['tags']) == 0);
} else {
$this->assertTrue(count($res['tags']) == 2);
$this->assertTrue(in_array('tag3', $res['tags']));
$this->assertTrue(in_array('tag4', $res['tags']));
}
$this->assertTrue($res['expire'] > time());
$this->assertTrue($res['mtime'] <= time());
}
public function testTouch()
{
$res = $this->_instance->getMetadatas('bar');
$bool = $this->_instance->touch('bar', 30);
$this->assertTrue($bool);
$res2 = $this->_instance->getMetadatas('bar');
$this->assertTrue(($res2['expire'] - $res['expire']) == 30);
$this->assertTrue(($res2['mtime'] >= $res['mtime']));
}
public function testGetCapabilities()
{
$res = $this->_instance->getCapabilities();
$this->assertTrue(isset($res['tags']));
$this->assertTrue(isset($res['automatic_cleaning']));
$this->assertTrue(isset($res['expired_read']));
$this->assertTrue(isset($res['priority']));
$this->assertTrue(isset($res['infinite_lifetime']));
$this->assertTrue(isset($res['get_list']));
}
}