AnyEvent-Blackboard
view release on metacpan or search on metacpan
t/01_timeouts.t view on Meta::CPAN
}
}
isa_ok(AnyEvent::Blackboard->new(), "AnyEvent::Blackboard",
"AnyEvent::Blackboard constructor");
=head1 TESTS
=over 4
=item Default Timeout
Time out all values by diving into the AnyEvent event loop without putting down
any events.
=cut
subtest "Default Timeout" => sub {
my $blackboard = AnyEvent::Blackboard->new(default_timeout => 0.02);
ok defined $blackboard, "Created blackboard...";
my $condvar = AnyEvent->condvar;
$condvar->begin;
$blackboard->watch(foo => sub {
my ($foo) = @_;
t/01_timeouts.t view on Meta::CPAN
$condvar->recv;
note "Got condvar interrupt...";
ok $blackboard->has("foo"), "foo should exist";
done_testing;
};
=item Timeout
Timeotu a specific key with a default value.
=cut
subtest "Timeout" => sub {
plan tests => 2;
my $blackboard = AnyEvent::Blackboard->new();
my $condvar = AnyEvent->condvar;
$condvar->begin;
$blackboard->timeout(0.01, foo => "default");
t/01_timeouts.t view on Meta::CPAN
ok $foo eq "default", "foo should be defined as default";
$condvar->end;
});
$condvar->recv;
ok $blackboard->has("foo"), "foo should be defined";
};
=item Timeout Canceled
Verify that timeouts result in no event when a value was provided, and that
it's the value that the is available not the undef provided by default by
timeouts.
=cut
subtest "Timeout Canceled" => sub {
my $blackboard = AnyEvent::Blackboard->new();
my $condvar = AnyEvent->condvar;
$condvar->begin;
$blackboard->timeout(0.01, foo => "default");
$blackboard->watch(foo => sub {
my ($foo) = @_;
( run in 0.233 second using v1.01-cache-2.11-cpan-a5abf4f5562 )