[limb-svn] r6008 - in 3.x/trunk/limb/active_record: src tests/cases
svn at limb-project.com
svn at limb-project.com
Wed Jun 20 12:32:15 MSD 2007
Author: serega
Date: 2007-06-20 12:32:14 +0400 (Wed, 20 Jun 2007)
New Revision: 6008
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6008
Modified:
3.x/trunk/limb/active_record/src/lmbActiveRecord.class.php
3.x/trunk/limb/active_record/tests/cases/lmbARImportTest.class.php
Log:
-- lmbActiveRecord :: import() now set related object to null if appropriate property has empty string value "" as well as "null" value
Modified: 3.x/trunk/limb/active_record/src/lmbActiveRecord.class.php
===================================================================
--- 3.x/trunk/limb/active_record/src/lmbActiveRecord.class.php 2007-06-20 06:31:15 UTC (rev 6007)
+++ 3.x/trunk/limb/active_record/src/lmbActiveRecord.class.php 2007-06-20 08:32:14 UTC (rev 6008)
@@ -1755,7 +1755,7 @@
}
elseif(is_object($value))
$this->set($property, $value);
- elseif(is_null($value) || strcasecmp($value, 'null') === 0)
+ elseif(is_null($value) || strcasecmp($value, 'null') === 0 || ($value === ''))
$this->set($property, null);
}
Modified: 3.x/trunk/limb/active_record/tests/cases/lmbARImportTest.class.php
===================================================================
--- 3.x/trunk/limb/active_record/tests/cases/lmbARImportTest.class.php 2007-06-20 06:31:15 UTC (rev 6007)
+++ 3.x/trunk/limb/active_record/tests/cases/lmbARImportTest.class.php 2007-06-20 08:32:14 UTC (rev 6008)
@@ -459,6 +459,24 @@
$this->assertNull($person2->getSocialSecurity());
}
+ function testImportNullEntityEmptyString()
+ {
+ $person = new PersonForTest();
+ $person->setName('Jim');
+ $number = new SocialSecurityForTest();
+ $number->setCode('099123');
+ $person->setSocialSecurity($number);
+ $person->save();
+
+ $source = array('name' => $person->getName(),
+ 'social_security' => '');
+
+ $person2 = clone $person;
+ $person2->import($source);
+ $this->assertEqual($person2->getName(), $person->getName());
+ $this->assertNull($person2->getSocialSecurity());
+ }
+
function testImportWithValueObject()
{
$lesson = new LessonForTest();
More information about the limb-svn
mailing list