X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F12-level.t;h=f81d94d4c4a1c09cea85b2d71f81591bf0ea14ab;hb=HEAD;hp=a5b616377f37a695ae3e1602fd72dc93b78156a1;hpb=e531c89b3ecbc5d58156f71c5324f5f253459864;p=perl%2Fmodules%2FB-RecDeparse.git diff --git a/t/12-level.t b/t/12-level.t index a5b6163..f81d94d 100644 --- a/t/12-level.t +++ b/t/12-level.t @@ -3,9 +3,8 @@ use strict; use warnings; -use Test::More tests => (3 + 3) * 5; +use Test::More tests => (3 + 3) * 5 + 1; -use B::Deparse; use B::RecDeparse; sub add { $_[0] + $_[1] } @@ -28,19 +27,23 @@ sub which { is($code->(1, 3), wut(1, 3), "result compiles to the good thing at level $l"); } -my $br_args = '-sCi0v1'; +my $bd_args = '-sCi0v1'; -my $brd = B::RecDeparse->new(deparse => [ $br_args ], level => -1); -which $brd, [ ], [ qw/add mul fma/ ], -1; +my $brd = B::RecDeparse->new(deparse => [ $bd_args ], level => -1); +which $brd, [ ], [ qw ], -1; -$brd = B::RecDeparse->new(deparse => [ $br_args ], level => 0); -which $brd, [ qw/fma/ ], [ qw/add mul/ ], 0; +$brd = B::RecDeparse->new(deparse => [ $bd_args ], level => 0); +which $brd, [ qw ], [ qw ], 0; -$brd = B::RecDeparse->new(deparse => [ $br_args ], level => 1); -which $brd, [ qw/add mul/ ], [ qw/fma/ ], 1; +$brd = B::RecDeparse->new(deparse => [ $bd_args ], level => 1); +which $brd, [ qw ], [ qw ], 1; -$brd = B::RecDeparse->new(deparse => [ $br_args ], level => 2); -which $brd, [ ], [ qw/add mul fma/ ], 2; +$brd = B::RecDeparse->new(deparse => [ $bd_args ], level => 2); +which $brd, [ ], [ qw ], 2; -$brd = B::RecDeparse->new(deparse => [ $br_args ], level => 3); -which $brd, [ ], [ qw/add mul fma/ ], 2; +$brd = B::RecDeparse->new(deparse => [ $bd_args ], level => 3); +which $brd, [ ], [ qw ], 2; + +sub fakegv { return @_ } +eval { $brd->coderef2text(sub { return fakegv() }) }; +is($@, '', 'don\'t croak on non-CV GV\'s at level >= 1');