X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2Flib%2FVariable%2FMagic%2FTestWatcher.pm;h=672ae12599e92946a99d6bc74e604ed7a9d87bf6;hb=fbcb2462798d2fa931a5c97ebf0cec73177dce23;hp=a8b5297d11ece058169c62ad8e76c943762080ab;hpb=391dfbafe931a004b429a0f13ca58b4d10f60887;p=perl%2Fmodules%2FVariable-Magic.git diff --git a/t/lib/Variable/Magic/TestWatcher.pm b/t/lib/Variable/Magic/TestWatcher.pm index a8b5297..672ae12 100644 --- a/t/lib/Variable/Magic/TestWatcher.pm +++ b/t/lib/Variable/Magic/TestWatcher.pm @@ -41,12 +41,18 @@ sub check (&;$$) { my $code = shift; my $exp = _types shift; my $desc = shift; + my $want = wantarray; + my @ret; local %mg = (); local $Test::Builder::Level = ($Test::Builder::Level || 0) + 1; - my @ret = eval { $code->() }; + if (defined $want and not $want) { # scalar context + $ret[0] = eval { $code->() }; + } else { + @ret = eval { $code->() }; + } is $@, '', $prefix . $desc . ' doesn\'t croak'; is_deeply \%mg, $exp, $prefix . $desc . ' triggers magic correctly'; - return @ret; + return $want ? @ret : $ret[0]; } our $mg_end;