[limb-svn] r6921 - 3.x/trunk/limb/cache/tests/cases
svn at limb-project.com
svn at limb-project.com
Fri Apr 11 10:19:44 MSD 2008
Author: vasiatka
Date: 2008-04-11 10:19:44 +0400 (Fri, 11 Apr 2008)
New Revision: 6921
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6921
Added:
3.x/trunk/limb/cache/tests/cases/lmbCacheGroupDecoratorSecondTest.class.php
Log:
--added Test for bugs for GroupDecorator
Added: 3.x/trunk/limb/cache/tests/cases/lmbCacheGroupDecoratorSecondTest.class.php
===================================================================
--- 3.x/trunk/limb/cache/tests/cases/lmbCacheGroupDecoratorSecondTest.class.php (rev 0)
+++ 3.x/trunk/limb/cache/tests/cases/lmbCacheGroupDecoratorSecondTest.class.php 2008-04-11 06:19:44 UTC (rev 6921)
@@ -0,0 +1,118 @@
+<?php
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com
+ * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
+ * @license LGPL http://www.gnu.org/copyleft/lesser.html
+ */
+lmb_require(dirname(__FILE__) . '/lmbCacheFileBackendTest.class.php');
+lmb_require('limb/cache/src/lmbCacheGroupDecorator.class.php');
+lmb_require('limb/cache/src/lmbCacheFileBackend.class.php');
+require_once('limb/cache/common.inc.php');
+
+class SomeClass
+{
+ static function Foo($param)
+ {
+ $cache=lmbToolkit::instance()->getCache();
+ if($value=$cache->get('bar'.$param,array('group'=>'bar_group')))
+ {
+ return $value;
+ }
+
+ $value='bar_value_'.$param;
+
+ $cache->set('bar'.$param,$value,array('group'=>'bar_group'));
+
+ return $value;
+ }
+}
+
+
+class lmbCacheGroupDecoratorSecondTest extends UnitTestCase
+{
+ function _createBackend()
+ {
+ $this->cache_dir = LIMB_VAR_DIR . '/cache';
+ return new lmbCacheFileBackend($this->cache_dir);
+ }
+
+ function _createPersisterImp()
+ {
+ return new lmbCacheGroupDecorator($this->_createBackend() , 'default_group');
+ }
+
+ function testPutAndReadWithOutGroup()
+ {
+ lmbToolkit::instance()->setCache($this->_createBackend());
+ lmbToolkit::instance()->getCache()->flush();
+
+ $a=SomeClass::Foo('a');
+ $b=SomeClass::Foo('b');
+
+ $cache1=lmbToolkit::instance()->getCache();
+
+ $a_read=$cache1->get('bara',array('group'=>'bar_group'));
+ $b_read=$cache1->get('barb',array('group'=>'bar_group'));
+
+ $this->assertEqual($a_read, $a);
+ $this->assertEqual($b_read, $b);
+ }
+
+
+ function testPutAndReadWithGroup()
+ {
+
+ lmbToolkit::instance()->setCache($this->_createPersisterImp());
+ lmbToolkit::instance()->getCache()->flush();
+
+ $a=SomeClass::Foo('a');
+ $b=SomeClass::Foo('b');
+
+ $cache1=lmbToolkit::instance()->getCache();
+
+ $a_read=$cache1->get('bara',array('group'=>'bar_group'));
+ $b_read=$cache1->get('barb',array('group'=>'bar_group'));
+
+ $this->assertEqual($a_read, $a);
+ $this->assertEqual($b_read, $b);
+
+ $a=SomeClass::Foo('a');
+ $b=SomeClass::Foo('b');
+ }
+
+ function testManyPutAndReadWithGroupAndDestroyTolkitObjectCache()
+ {
+
+ lmbToolkit::instance()->setCache($this->_createPersisterImp());
+ lmbToolkit::instance()->getCache()->flush();
+
+ $a=SomeClass::Foo('a');
+ $b=SomeClass::Foo('b');
+
+ $cache1=lmbToolkit::instance()->getCache();
+
+ $a_read=$cache1->get('bara',array('group'=>'bar_group'));
+ $b_read=$cache1->get('barb',array('group'=>'bar_group'));
+
+ $this->assertEqual($a_read, $a);
+ $this->assertEqual($b_read, $b);
+
+ $a=SomeClass::Foo('a');
+ $b=SomeClass::Foo('b');
+
+ //This need too destroy cache in toolkit
+ lmbToolkit::instance()->setCache($this->_createPersisterImp());
+
+
+ $cache1=lmbToolkit::instance()->getCache();
+
+ $a_read=$cache1->get('bara',array('group'=>'bar_group'));
+ $b_read=$cache1->get('barb',array('group'=>'bar_group'));
+
+ $this->assertEqual($a_read, $a);
+ $this->assertEqual($b_read, $b);
+
+ }
+}
\ No newline at end of file
More information about the limb-svn
mailing list