--- EV/t/08_async.t 2008/02/01 13:22:48 1.1 +++ EV/t/08_async.t 2008/04/15 04:41:57 1.3 @@ -1,32 +1,65 @@ -BEGIN { $| = 1; print "1..6\n"; } +BEGIN { $| = 1; print "1..13\n"; } no warnings; use strict; use EV; -my ($a1, $a2, $a3); + { + my ($a1, $a2, $a3); -$a3 = EV::async sub { - print "not ok 1\n"; -}; -$a2 = EV::async sub { - print "ok 4\n"; - $a1->cb (sub { + $a3 = EV::async sub { + print "not ok 1\n"; + }; + $a2 = EV::async sub { print "ok 5\n"; - EV::unloop; - }); + $a1->cb (sub { + print "ok 6\n"; + EV::unloop; + }); + $a1->send; + }; + $a1 = EV::async sub { + print $a1->async_pending ? "not " : "", "ok 4\n"; + $a2->send; + }; + + print $a1->async_pending ? "not " : "", "ok 1\n"; + $a1->send; + print $a1->async_pending ? "" : "not ", "ok 2\n"; + $a1->send; $a1->send; -}; -$a1 = EV::async sub { print "ok 3\n"; - $a2->send; -}; + EV::loop; + print "ok 7\n"; +} + +{ + my $l = new EV::Loop; + my ($a1, $a2, $a3); + + $a3 = $l->async (sub { + print "not ok 8\n"; + }); + $a2 = $l->async (sub { + print "ok 11\n"; + $a1->cb (sub { + print "ok 12\n"; + $l->unloop; + }); + $a1->send; + }); + $a1 = $l->async (sub { + print "ok 10\n"; + $a2->send; + }); + + print "ok 8\n"; + $a1->send; + $a1->send; + $a1->send; + print "ok 9\n"; + $l->loop; + print "ok 13\n"; +} -print "ok 1\n"; -$a1->send; -$a1->send; -$a1->send; -print "ok 2\n"; -EV::loop; -print "ok 6\n";