Beispiel #1
0
 public function testIsChanged()
 {
     $obj = $this->objFromFixture('DataObjectTest_Player', 'captain1');
     $obj->FirstName = 'Captain-changed';
     $obj->IsRetired = true;
     // type change only, database stores "1"
     $this->assertTrue($obj->isChanged('FirstName', 1));
     $this->assertTrue($obj->isChanged('FirstName', 2));
     $this->assertTrue($obj->isChanged('IsRetired', 1));
     $this->assertFalse($obj->isChanged('IsRetired', 2));
     $this->assertFalse($obj->isChanged('Email', 1), 'Doesnt change mark unchanged property');
     $this->assertFalse($obj->isChanged('Email', 2), 'Doesnt change mark unchanged property');
     $newObj = new DataObjectTest_Player();
     $newObj->FirstName = "New Player";
     $this->assertTrue($newObj->isChanged('FirstName', 1));
     $this->assertTrue($newObj->isChanged('FirstName', 2));
     $this->assertFalse($newObj->isChanged('Email', 1));
     $this->assertFalse($newObj->isChanged('Email', 2));
     $newObj->write();
     $this->assertFalse($newObj->isChanged('FirstName', 1));
     $this->assertFalse($newObj->isChanged('FirstName', 2));
     $this->assertFalse($newObj->isChanged('Email', 1));
     $this->assertFalse($newObj->isChanged('Email', 2));
     $obj = $this->objFromFixture('DataObjectTest_Player', 'captain1');
     $obj->FirstName = null;
     $this->assertTrue($obj->isChanged('FirstName', 1));
     $this->assertTrue($obj->isChanged('FirstName', 2));
     /* Test when there's not field provided */
     $obj = $this->objFromFixture('DataObjectTest_Player', 'captain1');
     $obj->FirstName = "New Player";
     $this->assertTrue($obj->isChanged());
     $obj->write();
     $this->assertFalse($obj->isChanged());
 }
 /**
  * @skipUpgrade
  */
 public function testIsChanged()
 {
     $obj = $this->objFromFixture('DataObjectTest_Player', 'captain1');
     $obj->NonDBField = 'bob';
     $obj->FirstName = 'Captain-changed';
     $obj->IsRetired = true;
     // type change only, database stores "1"
     // Now that DB fields are changed, isChanged is true
     $this->assertTrue($obj->isChanged('NonDBField'));
     $this->assertFalse($obj->isChanged('NonField'));
     $this->assertTrue($obj->isChanged('FirstName', DataObject::CHANGE_STRICT));
     $this->assertTrue($obj->isChanged('FirstName', DataObject::CHANGE_VALUE));
     $this->assertTrue($obj->isChanged('IsRetired', DataObject::CHANGE_STRICT));
     $this->assertFalse($obj->isChanged('IsRetired', DataObject::CHANGE_VALUE));
     $this->assertFalse($obj->isChanged('Email', 1), 'Doesnt change mark unchanged property');
     $this->assertFalse($obj->isChanged('Email', 2), 'Doesnt change mark unchanged property');
     $newObj = new DataObjectTest_Player();
     $newObj->FirstName = "New Player";
     $this->assertTrue($newObj->isChanged('FirstName', DataObject::CHANGE_STRICT));
     $this->assertTrue($newObj->isChanged('FirstName', DataObject::CHANGE_VALUE));
     $this->assertFalse($newObj->isChanged('Email', DataObject::CHANGE_STRICT));
     $this->assertFalse($newObj->isChanged('Email', DataObject::CHANGE_VALUE));
     $newObj->write();
     $this->assertFalse($newObj->ischanged());
     $this->assertFalse($newObj->isChanged('FirstName', DataObject::CHANGE_STRICT));
     $this->assertFalse($newObj->isChanged('FirstName', DataObject::CHANGE_VALUE));
     $this->assertFalse($newObj->isChanged('Email', DataObject::CHANGE_STRICT));
     $this->assertFalse($newObj->isChanged('Email', DataObject::CHANGE_VALUE));
     $obj = $this->objFromFixture('DataObjectTest_Player', 'captain1');
     $obj->FirstName = null;
     $this->assertTrue($obj->isChanged('FirstName', DataObject::CHANGE_STRICT));
     $this->assertTrue($obj->isChanged('FirstName', DataObject::CHANGE_VALUE));
     /* Test when there's not field provided */
     $obj = $this->objFromFixture('DataObjectTest_Player', 'captain2');
     $this->assertFalse($obj->isChanged());
     $obj->NonDBField = 'new value';
     $this->assertFalse($obj->isChanged());
     $obj->FirstName = "New Player";
     $this->assertTrue($obj->isChanged());
     $obj->write();
     $this->assertFalse($obj->isChanged());
 }