X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F14-callbacks.t;h=eb72559acbf75e4afe8e9688b01aa1662a2c7d00;hb=cb678e6b73356092edce6d42b76f3d667f95d7c4;hp=1f2c2de6c62a64b65ce3a2842f573000cc9a7158;hpb=20cd6add9786108c0b4c6967b6ea02ae9d5cef4d;p=perl%2Fmodules%2FVariable-Magic.git diff --git a/t/14-callbacks.t b/t/14-callbacks.t index 1f2c2de..eb72559 100644 --- a/t/14-callbacks.t +++ b/t/14-callbacks.t @@ -3,9 +3,9 @@ use strict; use warnings; -use Test::More tests => 12 + (2 * 5 + 2 * 6 + 2 * 5); +use Test::More tests => 12; -use Variable::Magic qw/wizard cast dispell VMG_OP_INFO_NAME VMG_OP_INFO_OBJECT/; +use Variable::Magic qw/wizard cast/; my $wiz = eval { wizard get => sub { undef } }; is($@, '', 'wizard creation doesn\'t croak'); @@ -65,40 +65,3 @@ is_deeply(\@callers, [ ([ 'main', $0, __LINE__-3 ]) x 2, ], 'caller into callback into eval returns the right thing'); -for ([ 'get', '$c', [ 'sassign', 'B::BINOP' ] ], - [ 'len', '@c', [ 'padav', 'B::OP' ] ]) { - my ($key, $var, $exp) = @$_; - - for my $op_info (VMG_OP_INFO_NAME, VMG_OP_INFO_OBJECT, 3) { - my ($c, @c); - - # We must test for the $op correctness inside the callback because, if we - # bring it out, it will go outside of the eval STRING scope, and what it - # points to will no longer exist. - eval { - $wiz = wizard $key => sub { - my $op = $_[-1]; - my $desc = "$key magic with op_info == $op_info"; - if ($op_info == 1) { - is $op, $exp->[0], "$desc gets the right op info"; - } elsif ($op_info == 2) { - isa_ok $op, $exp->[1], $desc; - is $op->name, $exp->[0], "$desc gets the right op info"; - } else { - is $op, undef, "$desc gets the right op info"; - } - () - }, op_info => $op_info - }; - is $@, '', "$key wizard with op_info == $op_info doesn't croak"; - - eval "cast $var, \$wiz"; - is $@, '', "$key cast with op_info == $op_info doesn't croak"; - - eval "my \$x = $var"; - is $@, '', "$key magic with op_info == $op_info doesn't croak"; - - eval "dispell $var, \$wiz"; - is $@, '', "$key dispell with op_info == $op_info doesn't croak"; - } -}