X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F11-multiple.t;h=21f37d23d492bf6ca3c0fba61812c68da3e637e2;hb=refs%2Ftags%2Fv0.05;hp=9ca06793e8df925895bfad934dc97d0e15a4a0b2;hpb=77a84f75f33e3ee44e61182dec76699e23025375;p=perl%2Fmodules%2FVariable-Magic.git diff --git a/t/11-multiple.t b/t/11-multiple.t index 9ca0679..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,11 +38,12 @@ multi sub { my $a = 0; multi sub { + my ($i) = @_; cast $a, $w[$i]; }, sub { - my ($res, $err) = @_; - ok(!$err, "cast magic $i error 1 ($err)"); - ok($res, "cast magic $i error 2"); + my ($i, $res, $err) = @_; + ok(!$err, "cast magic $i croaks ($err)"); + ok($res, "cast magic $i invalid"); }; my $b = $a; @@ -48,8 +53,8 @@ $a = 1; for (0 .. $n - 1) { ok($c[$_] == 0, "set magic $_"); } my $res = eval { dispell $a, $w[1] }; -ok(!$@, "dispell magic 1 error 1 ($@)"); -ok($res, 'dispell magic 1 error 2'); +ok(!$@, "dispell magic 1 croaks ($@)"); +ok($res, 'dispell magic 1 invalid'); $b = $a; for (0, 2) { ok($c[$_] == 1, "get magic $_ after dispelled 1"); } @@ -58,8 +63,8 @@ $a = 2; for (0, 2) { ok($c[$_] == 0, "set magic $_ after dispelled 1"); } $res = eval { dispell $a, $w[0] }; -ok(!$@, "dispell magic 0 error 1 ($@)"); -ok($res, 'dispell magic 0 error 2'); +ok(!$@, "dispell magic 0 croaks ($@)"); +ok($res, 'dispell magic 0 invalid'); $b = $a; ok($c[2] == 1, 'get magic 2 after dispelled 1 & 0'); @@ -68,5 +73,5 @@ $a = 3; ok($c[2] == 0, 'set magic 2 after dispelled 1 & 0'); $res = eval { dispell $a, $w[2] }; -ok(!$@, "dispell magic 2 error 1 ($@)"); -ok($res, 'dispell magic 2 error 2'); +ok(!$@, "dispell magic 2 croaks ($@)"); +ok($res, 'dispell magic 2 invalid');