+--------------------------------------------------------------------+
| CiviCRM version 5 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2019 |
+ | Copyright CiviCRM LLC (c) 2004-2020 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
$dao = new CRM_Core_BAO_PrevNextCache();
$dao->entity_id1 = 1;
$dao->entity_id2 = 2;
- $dao->data = serialize(array(
+ $dao->data = serialize([
'srcID' => 1,
'srcName' => 'Ms. Meliissa Mouse II',
'dstID' => 2,
'dstName' => 'Mr. Maurice Mouse II',
'weight' => 20,
'canMerge' => TRUE,
- ));
+ ]);
$dao->save();
$dao = new CRM_Core_BAO_PrevNextCache();
$dao->id = 1;
- CRM_Core_BAO_PrevNextCache::flipPair(array(1), 0);
+ CRM_Core_BAO_PrevNextCache::flipPair([1], 0);
$dao->find(TRUE);
$this->assertEquals(1, $dao->entity_id1);
$this->assertEquals(2, $dao->entity_id2);
- $this->assertEquals(serialize(array(
+ $this->assertEquals(serialize([
'srcName' => 'Mr. Maurice Mouse II',
'dstID' => 1,
'dstName' => 'Ms. Meliissa Mouse II',
'weight' => 20,
'canMerge' => TRUE,
'srcID' => 2,
- )), $dao->data);
+ ]), $dao->data);
- $this->quickCleanup(array('civicrm_prevnext_cache'));
+ $this->quickCleanup(['civicrm_prevnext_cache']);
+ }
+
+ public function testSetItem() {
+ $cacheKeyString = 'TestCacheKeyString';
+ $data = '1234afgbghh';
+ $values = [];
+ $values[] = " ( 'civicrm_contact', 0, 0, '{$cacheKeyString}_stats', '$data' ) ";
+ $valueArray = CRM_Core_BAO_PrevNextCache::convertSetItemValues($values[0]);
+ // verify as SetItem would do that it converts the original values style into a sensible array format
+ $this->assertEquals(['civicrm_contact', 0, 0, 'TestCacheKeyString_stats', '1234afgbghh'], $valueArray);
+ CRM_Core_BAO_PrevNextCache::setItem($valueArray[0], $valueArray[1], $valueArray[2], $valueArray[3], $valueArray[4]);
+ $dao = new CRM_Core_BAO_PrevNextCache();
+ $dao->cacheKey = 'TestCacheKeyString_stats';
+ $dao->find(TRUE);
+ $this->assertEquals('1234afgbghh', $dao->data);
+ $this->assertEquals(0, $dao->entity_id1);
+ $this->assertEquals(0, $dao->entity_id2);
+ $this->assertEquals('civicrm_contact', $dao->entity_table);
}
}