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

svn at limb-project.com svn at limb-project.com
Wed Dec 5 17:24:48 MSK 2007


Author: korchasa
Date: 2007-12-05 17:24:48 +0300 (Wed, 05 Dec 2007)
New Revision: 6586
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6586

Modified:
   3.x/trunk/limb/active_record/tests/cases/lmbARValueObjectTest.class.php
   3.x/trunk/limb/core/src/lmbObject.class.php
Log:
fix for check property existing

test for manual configuration of nullobject in getProperty method

Modified: 3.x/trunk/limb/active_record/tests/cases/lmbARValueObjectTest.class.php
===================================================================
--- 3.x/trunk/limb/active_record/tests/cases/lmbARValueObjectTest.class.php	2007-12-05 14:12:29 UTC (rev 6585)
+++ 3.x/trunk/limb/active_record/tests/cases/lmbARValueObjectTest.class.php	2007-12-05 14:24:48 UTC (rev 6586)
@@ -22,6 +22,13 @@
   {
     return $this->value;
   }
+}
+
+class TestingNullValueObject extends TestingValueObject {
+  function getValue()
+  {
+    return 'i\'m a null';
+  }
 }
 
 class LessonForTest extends lmbActiveRecord
@@ -38,6 +45,16 @@
   														       'can_be_null' => true));
 }
 
+class LessonWithNullObject extends LessonForTest 
+{
+  protected $_db_table_name = 'lesson_for_test';
+  function getNotRequiredDate()
+  {
+    $null_object = new TestingValueObject('null');
+    return $this->get('not_required_date', $null_object);
+  }
+}
+
 class NotRequiredDateNullObject {}
 
 class LazyLessonForTest extends lmbActiveRecord
@@ -138,13 +155,15 @@
   
   function testGetDefaultObject()
   {
-    $lesson = new LessonForTest();    
-    $this->assertIsA($lesson->get('not_required_date', new NotRequiredDateNullObject()), 'NotRequiredDateNullObject');     
+    $lesson = new LessonWithNullObject();    
+    $this->assertIdentical($lesson->getNotRequiredDate()->getValue(), 'null');
+    $lesson->not_required_date = new TestingValueObject('not_null');
+    $this->assertIdentical($lesson->getNotRequiredDate()->getValue(), 'not_null');    
   }
 
   function testEmptyValueForValuesObjects()
   {
-    $lesson = new LessonForTest();    
+    $lesson = new LessonForTest();
     $lesson->not_required_date = '';
     $this->assertIdentical($lesson->getNotRequiredDate(), '');
 

Modified: 3.x/trunk/limb/core/src/lmbObject.class.php
===================================================================
--- 3.x/trunk/limb/core/src/lmbObject.class.php	2007-12-05 14:12:29 UTC (rev 6585)
+++ 3.x/trunk/limb/core/src/lmbObject.class.php	2007-12-05 14:24:48 UTC (rev 6586)
@@ -138,7 +138,7 @@
 
   protected function _hasAttribute($name)
   {
-    return isset($this, $name);
+    return property_exists($this, $name);
   }
 
   function getAttributesNames()



More information about the limb-svn mailing list