1--TEST-- 2Delete multi 3--SKIPIF-- 4<?php include "skipif.inc";?> 5--FILE-- 6<?php 7include dirname (__FILE__) . '/config.inc'; 8$m = memc_get_instance (); 9 10function has_all_keys($keys, $array, $check_true = false) 11{ 12 foreach ($keys as $key) { 13 if (!isset($array[$key])) 14 return false; 15 16 if ($check_true && $array[$key] !== true) 17 return false; 18 } 19 return true; 20} 21 22$data = array( 23 'foo' => 'foo-data', 24 'bar' => 'bar-data', 25 'baz' => 'baz-data', 26 'lol' => 'lol-data', 27 'kek' => 'kek-data', 28); 29 30$keys = array_keys($data); 31 32$null = null; 33$m->setMulti($data, 3600); 34 35/* Check that all keys were stored */ 36var_dump(has_all_keys($keys, $m->getMulti($keys))); 37 38/* Check that all keys get deleted */ 39$deleted = $m->deleteMulti($keys); 40var_dump(has_all_keys($keys, $deleted, true)); 41 42/* Try to get the deleted keys, should give empty array */ 43var_dump($m->getMulti($keys)); 44 45/* ---- same tests for byKey variants ---- */ 46$m->setMultiByKey("hi", $data, 3600); 47 48var_dump(has_all_keys($keys, $m->getMultiByKey('hi', $keys))); 49 50/* Check that all keys get deleted */ 51$deleted = $m->deleteMultiByKey('hi', $keys); 52var_dump(has_all_keys($keys, $deleted, true)); 53 54/* Try to get the deleted keys, should give empty array */ 55var_dump($m->getMultiByKey('hi', $keys)); 56 57/* Test deleting non-existent keys */ 58$keys = array(); 59$keys[] = "nothere"; 60$keys[] = "nothere2"; 61 62$retval = $m->deleteMulti($keys); 63 64foreach ($retval as $key => $value) { 65 if ($value === Memcached::RES_NOTFOUND) { 66 echo "$key NOT FOUND\n"; 67 } 68} 69 70 71?> 72--EXPECT-- 73bool(true) 74bool(true) 75array(0) { 76} 77bool(true) 78bool(true) 79array(0) { 80} 81nothere NOT FOUND 82nothere2 NOT FOUND