1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
use strict;
use lib 't/lib';
use libmemcached_test;
use Test::More;
my $namespace = "fooblabaz";
my $cache = libmemcached_test_create( { namespace => $namespace } );
my $cache_nons = libmemcached_test_create( { } );
plan(tests => 13);
isa_ok($cache, "Cache::Memcached::libmemcached");
{
$cache->set("foo", "bar", 300);
my $val = $cache->get("foo");
is($val, "bar", "simple value");
is($cache_nons->get("${namespace}foo"), "bar", "simple value via nons");
}
{
$cache->set("foo", { bar => 1 }, 300);
my $val = $cache->get("foo");
is_deeply($val, { bar => 1 }, "got complex values");
}
{
ok( $cache->get("foo"), "before delete returns ok");
ok( $cache->delete("foo") );
ok( ! $cache->get("foo"), "delete works");
ok( ! $cache->delete("foo") );
}
{
ok( $cache->set("foo", 1), "prep for incr" );
is( $cache->incr("foo"), 2, "incr returns 1 more than previous" );
is($cache_nons->get("${namespace}foo"), 2, "simple value via nons");
is( $cache->decr("foo"), 1, "decr returns 1 less than previous" );
}
SKIP: {
if (Cache::Memcached::libmemcached::OPTIMIZE) {
skip("OPTIMIZE flag is enabled", 1);
}
$cache = libmemcached_test_create( {
compress_enable => 1,
namespace => "fooblabaz",
});
my $master_key = 'dummy_master';
my $key = 'foo_with_master';
$cache->set([ $master_key, $key ], 100);
is( $cache->get([ $master_key, $key ]), 100, "get with master key" );
}
|