# HG changeset patch # User Maxim Dounin # Date 1191160901 -14400 # Node ID f5cfb726ea6524e698eb571cbbd76acce972e0e3 # Parent d0f7d74f9ca5159b1d9baf965736c3bbba2ce793 Append/prepend commands. NOTE: gzipping content may produce unpredictable results. diff --git a/lib/Cache/Memcached.pm b/lib/Cache/Memcached.pm --- a/lib/Cache/Memcached.pm +++ b/lib/Cache/Memcached.pm @@ -437,6 +437,14 @@ sub set { _set("set", @_); } +sub append { + _set("append", @_); +} + +sub prepend { + _set("prepend", @_); +} + sub _set { my $cmdname = shift; my Cache::Memcached $self = shift; diff --git a/t/02_keys.t b/t/02_keys.t --- a/t/02_keys.t +++ b/t/02_keys.t @@ -9,7 +9,7 @@ my $testaddr = "127.0.0.1:11211"; my $msock = IO::Socket::INET->new(PeerAddr => $testaddr, Timeout => 3); if ($msock) { - plan tests => 10; + plan tests => 14; } else { plan skip_all => "No memcached instance running at $testaddr\n"; exit 0; @@ -31,6 +31,11 @@ is($memd->get("key2"), "val2", "get work ok($memd->replace("key2", "val-replace"), "replace worked"); ok(! $memd->replace("key-noexist", "bogus"), "replace failed"); +ok($memd->set("key1", "1"), "set before append/prepend"); +ok($memd->append("key1", "2"), "append worked"); +ok($memd->prepend("key1", "3"), "prepend worked"); +is($memd->get("key1"), "312", "append/prepend result check"); + my $stats = $memd->stats; ok($stats, "got stats"); is(ref $stats, "HASH", "is a hashref");