This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
test just-posted patches
[perl5.git] / ext / B / Deparse.t
index 048ce31..20cef75 100644 (file)
@@ -15,12 +15,12 @@ use warnings;
 use strict;
 use Config;
 
-print "1..14\n";
+print "1..15\n";
 
 use B::Deparse;
 my $deparse = B::Deparse->new() or print "not ";
 my $i=1;
-print "ok ", $i++, "\n";
+print "ok " . $i++ . "\n";
 
 
 # Tell B::Deparse about our ambient pragmas
@@ -49,7 +49,7 @@ while (<DATA>) {
     my $coderef = eval "sub {$input}";
 
     if ($@) {
-       print "not ok ", $i++, "\n";
+       print "not ok " . $i++ . "\n";
        print "# $@";
     }
     else {
@@ -61,8 +61,7 @@ while (<DATA>) {
        };
 
        my $ok = ($deparsed =~ /^\{\s*$regex\s*\}$/);
-       print ($ok ? "ok " : "not ok ");
-       print $i++, "\n";
+       print (($ok ? "ok " : "not ok ") . $i++ . "\n");
        if (!$ok) {
            print "# EXPECTED:\n";
            $regex =~ s/^/# /mg;
@@ -77,19 +76,19 @@ while (<DATA>) {
 
 use constant 'c', 'stuff';
 print "not " if (eval "sub ".$deparse->coderef2text(\&c))->() ne 'stuff';
-print "ok ", $i++, "\n";
+print "ok " . $i++ . "\n";
 
 $a = 0;
 print "not " if "{\n    (-1) ** \$a;\n}"
                ne $deparse->coderef2text(sub{(-1) ** $a });
-print "ok ", $i++, "\n";
+print "ok " . $i++ . "\n";
 
 # XXX ToDo - constsub that returns a reference
 #use constant cr => ['hello'];
 #my $string = "sub " . $deparse->coderef2text(\&cr);
 #my $val = (eval $string)->();
 #print "not " if ref($val) ne 'ARRAY' || $val->[0] ne 'hello';
-#print "ok ", $i++, "\n";
+#print "ok " . $i++ . "\n";
 
 my $a;
 my $Is_VMS = $^O eq 'VMS';
@@ -106,36 +105,36 @@ $b = <<'EOF';
 
 LINE: while (defined($_ = <ARGV>)) {
     chomp $_;
-    @F = split(" ", $_, 0);
+    our(@F) = split(" ", $_, 0);
     '???';
 }
 
 EOF
 print "# [$a]\n\# vs expected\n# [$b]\nnot " if $a ne $b;
-print "ok ", $i++, "\n";
+print "ok " . $i++ . "\n";
 
 __DATA__
-# 1
+# 2
 1;
 ####
-# 2
+# 3
 {
     no warnings;
     '???';
     2;
 }
 ####
-# 3
+# 4
 my $test;
 ++$test and $test /= 2;
 >>>>
 my $test;
 $test /= 2 if ++$test;
 ####
-# 4
+# 5
 -((1, 2) x 2);
 ####
-# 5
+# 6
 {
     my $test = sub : lvalue {
        my $x;
@@ -143,7 +142,7 @@ $test /= 2 if ++$test;
     ;
 }
 ####
-# 6
+# 7
 {
     my $test = sub : method {
        my $x;
@@ -151,7 +150,7 @@ $test /= 2 if ++$test;
     ;
 }
 ####
-# 7
+# 8
 {
     my $test = sub : locked method {
        my $x;
@@ -159,7 +158,7 @@ $test /= 2 if ++$test;
     ;
 }
 ####
-# 8
+# 9
 {
     234;
 }
@@ -167,10 +166,14 @@ continue {
     123;
 }
 ####
-# 9
+# 10
 my $x;
 print $main::x;
 ####
-# 10
+# 11
 my @x;
 print $main::x[1];
+####
+# 12
+my %x;
+$x{warn()};