Esempio n. 1
0
 /**
  * @dataProvider instanceProvider
  */
 public function testSetFields(IORMRow $item)
 {
     $originalValues = $item->getFields();
     $item->setFields(array(), false);
     foreach ($item->getTable()->getFields() as $name => $type) {
         $originalHas = array_key_exists($name, $originalValues);
         $newHas = $item->hasField($name);
         $this->assertEquals($originalHas, $newHas);
         if ($originalHas && $newHas) {
             $this->assertEquals($originalValues[$name], $item->getField($name));
         }
     }
     $mockFields = $this->getMockFields();
     $item->setFields($mockFields, false);
     $this->assertFieldValues($originalValues, $item);
     $item->setFields($mockFields, true);
     $this->assertFieldValues($mockFields, $item);
 }
Esempio n. 2
0
 /**
  * Return if any fields got changed.
  *
  * @since 1.20
  *
  * @param IORMRow $object
  * @param boolean|array $excludeSummaryFields
  *  When set to true, summary field changes are ignored.
  *  Can also be an array of fields to ignore.
  *
  * @return boolean
  */
 protected function fieldsChanged(IORMRow $object, $excludeSummaryFields = false)
 {
     $exclusionFields = array();
     if ($excludeSummaryFields !== false) {
         $exclusionFields = is_array($excludeSummaryFields) ? $excludeSummaryFields : $this->table->getSummaryFields();
     }
     foreach ($this->fields as $name => $value) {
         $excluded = $excludeSummaryFields && in_array($name, $exclusionFields);
         if (!$excluded && $object->getField($name) !== $value) {
             return true;
         }
     }
     return false;
 }