Exemple #1
0
 /**
  * Set array of items
  * If items already exists, they are replaced
  * 
  * @access public
  * @param array $items
  */
 public function setItems($items)
 {
     $existingItemsKeys = array_flip($this->cacheAdapter->hasItems(array_keys($items)));
     $existingItems = array_intersect_key($items, $existingItemsKeys);
     $nonExistingItems = array_diff_key($items, $existingItemsKeys);
     if (count($existingItems) > 0) {
         $this->cacheAdapter->replaceItems($existingItems);
     }
     if (count($nonExistingItems) > 0) {
         $this->cacheAdapter->setItems($nonExistingItems);
     }
 }
 /**
  * @test
  */
 public function delegatesReplaceItems()
 {
     $keyValuePairs = [];
     $this->storage->replaceItems($keyValuePairs)->willReturn(true);
     $return = $this->cache->replaceItems($keyValuePairs);
     $this->assertTrue($return);
 }
Exemple #3
0
 public function testReplaceItemsReturnsFailedKeys()
 {
     $this->assertTrue($this->_storage->setItem('key1', 'value1'));
     $failedKeys = $this->_storage->replaceItems(array('key1' => 'XYZ', 'key2' => 'value2'));
     $this->assertSame(array('key2'), $failedKeys);
     $this->assertSame('XYZ', $this->_storage->getItem('key1'));
     $this->assertFalse($this->_storage->hasItem('key2'));
 }
 public function replaceItems(array $keyValuePairs)
 {
     return $this->storage->replaceItems($keyValuePairs);
 }