# tests for functions documented in memcached_auto.pod use strict; use warnings; use Test::More; use Memcached::libmemcached # functions explicitly tested by this file qw( memcached_increment memcached_decrement ), # other functions used by the tests qw( memcached_set ); use lib 't/lib'; use libmemcached_test; my $memc = libmemcached_test_create(); plan tests => 9; my $t1= time(); my $k1= "$0-test-key-$t1"; # can't have spaces my $v1= 42; my $v2=0; print "memcached_increment the not yet stored value\n"; ok !memcached_increment($memc, $k1, 1, $v2), 'should not exist yet and so should return false'; ok defined memcached_increment($memc, $k1, 1, $v2), 'should not exist yet and so should return false but defined'; print "memcached_set\n"; ok memcached_set($memc, $k1, $v1); print "memcached_increment the just stored value\n"; ok memcached_increment($memc, $k1, 1, $v2), 'should increment existing value'; is $v2, $v1+1; ok memcached_increment($memc, $k1, 1, $v2), 'should increment existing value'; is $v2, $v1+2; ok memcached_decrement($memc, $k1, 1, $v2), 'should increment existing value'; is $v2, $v1+1; # repeat for value with a null byte to check value_length works