[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 &copy; 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