use Object::Remote;
use File::Spec;
+$ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;
+
{
package S1S;
my $res;
-S1S->start::get_s2->then::get_s3->on_ready(sub { ($res) = $_[0]->get });
+my @keep;
+
+push @keep,
+ S1S->start::get_s2->then::get_s3->on_ready(sub { ($res) = $_[0]->get });
is($res, 'S3', 'Synchronous code ok');
undef($res);
-S1F->start::get_s2->then::get_s3->on_ready(sub { ($res) = $_[0]->get });
+push @keep,
+ S1F->start::get_s2->then::get_s3->on_ready(sub { ($res) = $_[0]->get });
ok(!$S2F::C, 'Second future not yet constructed');
is(S1S->get_s2->get_s3, 'S3', 'Sync without start');
-open my $fh, '<', File::Spec->devnull;
-
-Object::Remote->current_loop->watch_io(
- handle => $fh,
- on_read_ready => sub {
- $S1F::C->() if defined $S1F::C;
- $S2F::C->() if defined $S2F::C;
+Object::Remote->current_loop->watch_time(
+ after => 0.1,
+ code => sub {
+ $S1F::C->();
+ Object::Remote->current_loop->watch_time(
+ after => 0.1,
+ code => sub { $S2F::C->() }
+ );
}
);