]> git.vpit.fr Git - perl/modules/Variable-Magic.git/blobdiff - t/lib/Variable/Magic/TestWatcher.pm
Make the watch { } wrapper properly apply context
[perl/modules/Variable-Magic.git] / t / lib / Variable / Magic / TestWatcher.pm
index bcbd67e5987ffa91d6c85268df2a72c19c1b1add..98a4b08b85d279ac1e64fd9cd8936519c13fb792 100644 (file)
@@ -5,12 +5,12 @@ use warnings;
 
 use Test::More;
 
-use Carp qw/croak/;
-use Variable::Magic qw/wizard/;
+use Carp qw<croak>;
+use Variable::Magic qw<wizard>;
 
-use base qw/Exporter/;
+use base qw<Exporter>;
 
-our @EXPORT = qw/init_watcher watch/;
+our @EXPORT = qw<init_watcher watch>;
 
 sub _types {
  my $t = shift;
@@ -45,7 +45,10 @@ sub watch (&;$$) {
  my @ret;
  local %mg = ();
  local $Test::Builder::Level = ($Test::Builder::Level || 0) + 1;
- if (defined $want and not $want) { # scalar context
+ local $@;
+ if (not defined $want) { # void context
+  eval { $code->() };
+ } elsif (not $want) { # scalar context
   $ret[0] = eval { $code->() };
  } else {
   @ret = eval { $code->() };