This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add tests that (?{}) etc called in scalar context
authorDavid Mitchell <davem@iabyn.com>
Mon, 4 Jun 2012 13:32:55 +0000 (14:32 +0100)
committerDavid Mitchell <davem@iabyn.com>
Wed, 13 Jun 2012 12:32:55 +0000 (13:32 +0100)
t/re/pat_re_eval.t

index f158f85..22a1ec9 100644 (file)
@@ -23,7 +23,7 @@ BEGIN {
 }
 
 
 }
 
 
-plan tests => 448;  # Update this when adding/deleting tests.
+plan tests => 452;  # Update this when adding/deleting tests.
 
 run_tests() unless caller;
 
 
 run_tests() unless caller;
 
@@ -966,6 +966,16 @@ sub run_tests {
        like($warn, qr/value \$u1 in pattern match.*\n.*value at/, 'uninit');
     }
 
        like($warn, qr/value \$u1 in pattern match.*\n.*value at/, 'uninit');
     }
 
+    # test that code blocks are called in scalar context
+
+    {
+       my @a = (0);
+       ok("" =~ /^(?{@a})$/, '(?{}) in scalar context');
+       is($^R, 1, '(?{}) in scalar context: $^R');
+       ok("1" =~ /^(??{@a})$/, '(??{}) in scalar context');
+       ok("foo" =~ /^(?(?{@a})foo|bar)$/, '(?(?{})|) in scalar context');
+    }
+
 
 
 } # End of sub run_tests
 
 
 } # End of sub run_tests