1--TEST--
2Memcached::incrementByKey() Memcached::decrementByKey()
3--SKIPIF--
4<?php include "skipif.inc";?>
5--FILE--
6<?php
7include dirname (__FILE__) . '/config.inc';
8$m = memc_get_instance ();
9
10echo "Not there\n";
11$m->delete('foo');
12var_dump($m->incrementByKey('foo', 'foo', 1));
13var_dump($m->decrementByKey('foo', 'foo', 1));
14var_dump($m->get('foo'));
15
16echo "Normal\n";
17$m->set('foo', 1);
18var_dump($m->get('foo'));
19$m->incrementByKey('foo', 'foo');
20var_dump($m->get('foo'));
21$m->incrementByKey('foo', 'foo', 2);
22var_dump($m->get('foo'));
23$m->decrementByKey('foo', 'foo');
24var_dump($m->get('foo'));
25$m->decrementByKey('foo', 'foo', 2);
26var_dump($m->get('foo'));
27
28error_reporting(0);
29
30echo "Negative offset\n";
31error_clear_last();
32$m->incrementByKey('foo', 'foo', -1);
33echo error_get_last()["message"], "\n";
34var_dump($m->get('foo'));
35
36error_clear_last();
37$m->decrementByKey('foo', 'foo', -1);
38echo error_get_last()["message"], "\n";
39var_dump($m->get('foo'));
40
41echo "Enormous offset\n";
42$m->incrementByKey('foo', 'foo', 0x7f000000);
43var_dump($m->get('foo'));
44
45$m->decrementByKey('foo', 'foo', 0x7f000000);
46var_dump($m->get('foo'));
47
48--EXPECT--
49Not there
50bool(false)
51bool(false)
52bool(false)
53Normal
54int(1)
55int(2)
56int(4)
57int(3)
58int(1)
59Negative offset
60Memcached::incrementByKey(): offset cannot be a negative value
61int(1)
62Memcached::decrementByKey(): offset cannot be a negative value
63int(1)
64Enormous offset
65int(2130706433)
66int(1)
67