use newer Future API, fix broken test
Matt S Trout [Tue, 29 Jul 2014 00:31:42 +0000 (00:31 +0000)]
Changes
Makefile.PL
lib/Object/Remote/Future.pm
t/start_core.t

diff --git a/Changes b/Changes
index cf9b560..e5fa5af 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,5 @@
+  - Use newer Future API, fix broken test
+
 0.003002 - 2013-03-19
   - Switch from CPS::Future to Future.pm
 
index 4cd8800..9ecf353 100644 (file)
@@ -11,7 +11,7 @@ WriteMakefile(
     Moo => 1.001,
     'Module::Runtime' => 0,
     'JSON::PP' => 0,
-    'Future' => 0.10,
+    'Future' => 0.29,
     'MRO::Compat' => 0, # required to fatpack Moo
     'Class::C3' => 0, # required to fatpack Moo
     'String::ShellQuote' => 0, # required for ssh argument manipulation
index 83aad96..966532f 100644 (file)
@@ -99,8 +99,8 @@ sub AUTOLOAD {
   my $invocant = shift;
   my ($method) = our $AUTOLOAD =~ /^then::(.+)$/;
   my @args = @_;
-  return $invocant->and_then(sub {
-    my ($obj) = $_[0]->get;
+  return $invocant->then(sub {
+    my ($obj) = @_;
     return $obj->${\"start::${method}"}(@args);
   });
 }
index b50b9f3..cb2ed87 100644 (file)
@@ -63,13 +63,17 @@ $ENV{OBJECT_REMOTE_TEST_LOGGER} = 1;
 
 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');