X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F11-multiple.t;h=21f37d23d492bf6ca3c0fba61812c68da3e637e2;hb=14f66d40970bef63105be046a109c1a32859a8a0;hp=c77decea46fda34fd30dddfc056a55cd2a0445e9;hpb=8556481280524737222300317146a23b801f6be0;p=perl%2Fmodules%2FVariable-Magic.git diff --git a/t/11-multiple.t b/t/11-multiple.t index c77dece..21f37d2 100644 --- a/t/11-multiple.t +++ b/t/11-multiple.t @@ -1,5 +1,8 @@ #!perl -T +use strict; +use warnings; + use Test::More tests => 33; use Variable::Magic qw/wizard cast dispell/; @@ -10,9 +13,9 @@ my @c = (0) x $n; sub multi { my ($cb, $tests) = @_; - for (local $i = 0; $i < $n; ++$i) { - my $res = eval { $cb->() }; - $tests->($res, $@); + for (my $i = 0; $i < $n; ++$i) { + my $res = eval { $cb->($i) }; + $tests->($i, $res, $@); } } @@ -24,9 +27,10 @@ eval { $w[2] = wizard get => sub { ++$c[2] }, set => sub { --$c[2] } }; ok(!$@, "wizard 2 creation error ($@)"); multi sub { + my ($i) = @_; $w[$i] }, sub { - my ($res, $err) = @_; + my ($i, $res, $err) = @_; ok(defined $res, "wizard $i is defined"); ok(ref($w[$i]) eq 'SCALAR', "wizard $i is a scalar ref"); }; @@ -34,9 +38,10 @@ multi sub { my $a = 0; multi sub { + my ($i) = @_; cast $a, $w[$i]; }, sub { - my ($res, $err) = @_; + my ($i, $res, $err) = @_; ok(!$err, "cast magic $i croaks ($err)"); ok($res, "cast magic $i invalid"); };