[limb-svn] r6509 - in 3.x/trunk/limb/core: src tests/cases

svn at limb-project.com svn at limb-project.com
Thu Nov 8 18:09:59 MSK 2007


Author: serega
Date: 2007-11-08 18:09:59 +0300 (Thu, 08 Nov 2007)
New Revision: 6509
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6509

Modified:
   3.x/trunk/limb/core/src/lmbSet.class.php
   3.x/trunk/limb/core/tests/cases/lmbSetTest.class.php
Log:
-- a bit better version of lmbSet

Modified: 3.x/trunk/limb/core/src/lmbSet.class.php
===================================================================
--- 3.x/trunk/limb/core/src/lmbSet.class.php	2007-11-08 15:00:31 UTC (rev 6508)
+++ 3.x/trunk/limb/core/src/lmbSet.class.php	2007-11-08 15:09:59 UTC (rev 6509)
@@ -98,7 +98,7 @@
   function has($name)
   {
     if(!$this->_isGuarded($name))
-      return isset($this->$name);
+      return property_exists($this, $name);
   }
 
   function isEmpty()

Modified: 3.x/trunk/limb/core/tests/cases/lmbSetTest.class.php
===================================================================
--- 3.x/trunk/limb/core/tests/cases/lmbSetTest.class.php	2007-11-08 15:00:31 UTC (rev 6508)
+++ 3.x/trunk/limb/core/tests/cases/lmbSetTest.class.php	2007-11-08 15:09:59 UTC (rev 6509)
@@ -170,7 +170,25 @@
     $this->assertTrue(isset($ds['foo']));
     $this->assertFalse(isset($ds['bar']));
   }
+  
+  function testImplementsMagicGetSetUnsetMethods()
+  {
+    $ds = new lmbSet();
 
+    $ds->set('foo', 'Bar');
+    $this->assertEqual($ds->foo, 'Bar');
+
+    $ds->foo = 'Zoo';
+    $this->assertEqual($ds->foo, 'Zoo');
+
+    unset($ds->foo);
+    $this->assertFalse(property_exists($ds, 'foo'));
+
+    $ds->set('foo', 'Bar');
+    $this->assertTrue(isset($ds->foo));
+    $this->assertFalse(isset($ds->bar));
+  }  
+
   function testImplementsIterator()
   {
     $ds = new lmbSet($array = array('test1' => 'foo',



More information about the limb-svn mailing list