/**
  * @param ChangeRow $change
  *
  * @return array
  */
 private function getValues(ChangeRow $change)
 {
     $fields = $change->getFields();
     return array('change_type' => $fields['type'], 'change_time' => isset($fields['time']) ? $fields['time'] : wfTimestampNow(), 'change_object_id' => isset($fields['object_id']) ? $fields['object_id'] : '', 'change_revision_id' => isset($fields['revision_id']) ? $fields['revision_id'] : '0', 'change_user_id' => isset($fields['user_id']) ? $fields['user_id'] : '0', 'change_info' => $change->serializeInfo($fields['info']));
 }
 /**
  * @see ChangeRow::serializeInfo()
  *
  * Overwritten to use the array representation of the diff.
  *
  * @since 0.4
  * @param array $info
  * @return string
  */
 public function serializeInfo(array $info)
 {
     if (isset($info['diff']) && $info['diff'] instanceof DiffOp) {
         /** @var DiffOp $op */
         $op = $info['diff'];
         $info['diff'] = $op->toArray(array($this, 'arrayalizeObjects'));
     }
     return parent::serializeInfo($info);
 }
 public function testDoesNotSerializeObjects()
 {
     $info = array('array' => array('object' => new ChangeRow()));
     $change = new ChangeRow();
     $this->setExpectedException('MWException');
     $change->serializeInfo($info);
 }