]> git.vpit.fr Git - perl/modules/B-RecDeparse.git/blobdiff - t/12-level.t
Update VPIT::TestHelpers to 15e8aee3
[perl/modules/B-RecDeparse.git] / t / 12-level.t
index a5b616377f37a695ae3e1602fd72dc93b78156a1..f81d94d4c4a1c09cea85b2d71f81591bf0ea14ab 100644 (file)
@@ -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<add mul fma> ], -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<fma> ], [ qw<add mul> ], 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<add mul> ], [ qw<fma> ], 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<add mul fma> ], 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<add mul fma> ], 2;
+
+sub fakegv { return @_ }
+eval { $brd->coderef2text(sub { return fakegv() }) };
+is($@, '', 'don\'t croak on non-CV GV\'s at level >= 1');