Cache-Memcached-AnyEvent
view release on metacpan or search on metacpan
t/CMAETest/Commands.pm view on Meta::CPAN
package t::CMAETest::Commands;
use strict;
use AnyEvent::Impl::Perl;
use t::Util;
use Test::More;
use Test::Fatal;
my $key = random_key();
my @keys = map { "commands-$_" } (1..10);
my @callbacks = (
sub { my ($memd, $cv) = @_; $memd->flush_all(sub { is($_[0], 1, 'Flush all records'); $cv->end }); },
sub {
my ($memd, $cv) = @_;
my $cb = AE::cv {
is($_[0]->recv, 1, 'Flush all records (via condvar)');
$cv->end
};
$memd->flush_all($cb);
},
sub {
my ($memd, $cv) = @_;
$memd->get($key, sub {
ok(!$_[0], "Get on non-existent value");
$cv->end
})
},
sub {
my ($memd, $cv) = @_;
my $cb = AE::cv {
ok(!$_[0]->recv, "Get on non-existent value (via cb)");
$cv->end
};
$memd->get($key, $cb)
},
sub {
my ($memd, $cv) = @_;
my $value = "hoge" x 8192;
my $cb = AE::cv {
ok $_[0], "Set a big value";
$cv->end
};
$memd->set("${key}_big", $value, $cb);
},
sub {
my ($memd, $cv) = @_;
my $value = "hoge" x 8192;
my $cb = AE::cv {
is $_[0]->recv, $value, "Get on big value";
$cv->end;
};
$memd->get("${key}_big", $cb);
},
sub {
my ($memd, $cv) = @_;
my $value = { complex => [ 'structure' ], that => { would => { require_the_use_of => 'Storable' } } };
my $cb = AE::cv {
ok $_[0], "Set complex value";
$cv->end;
};
$memd->set("${key}_complex", $value, $cb);
},
sub {
my ($memd, $cv) = @_;
my $value = { complex => [ 'structure' ], that => { would => { require_the_use_of => 'Storable' } } };
my $cb = AE::cv {
is_deeply $_[0]->recv, $value, "Get on complex value";
( run in 1.086 second using v1.01-cache-2.11-cpan-54e63673c56 )