AnyEvent-InMemoryCache

 view release on metacpan or  search on metacpan

t/03-tiehash.t  view on Meta::CPAN

# Delete baz
is delete $cache{"UNKNOWN"}, undef;
is delete $cache{"baz"}, "piyo";

ok !exists $cache{"baz"};
is scalar keys %cache, 2;
is_deeply [sort keys %cache], [qw(bar foo)];
ok scalar %cache;

# Overwrite bar
(tied %cache)->set(bar => "updated!", "3s");
is $cache{"bar"}, "updated!";


my $w1; $w1 = AE::timer 2, 0, sub{  # 2 seconds later
    is scalar keys %cache, 1;
    is_deeply [sort keys %cache], [qw(bar)];
    ok scalar %cache;
    
    ok !exists $cache{"foo"};
    
    ok exists $cache{"bar"};
    is $cache{"bar"}, "updated!";
    
    ok !exists $cache{"baz"};
};

my $w2; $w2 = AE::timer 4, 0, sub{  # 4 seconds later
    is scalar keys %cache, 0;
    is_deeply [sort keys %cache], [];
    is "" . %cache, "0";
    ok !%cache;
    



( run in 0.302 second using v1.01-cache-2.11-cpan-0a6323c29d9 )