This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
To-do tests for abnormal exiting from (?{})
authorFather Chrysostomos <sprout@cpan.org>
Sun, 5 Dec 2010 03:27:27 +0000 (19:27 -0800)
committerFather Chrysostomos <sprout@cpan.org>
Sun, 5 Dec 2010 03:27:27 +0000 (19:27 -0800)
t/re/reg_eval_scope.t

index 84ee1ae..8c8be6a 100644 (file)
@@ -4,7 +4,7 @@
 
 BEGIN { chdir 't'; @INC = qw "lib ../lib"; require './test.pl' }
 
-plan 12;
+plan 17;
 
 # Functions for turning to-do-ness on and off (as there are so many
 # to-do tests) 
@@ -110,3 +110,19 @@ on;
   "ba" =~ /${\'(?{ $::re = qr -- })a'}/;
 }
 is $re, '(?^m:)', '/$text/ containing (?{}) inherits pragmata';
+
+fresh_perl_is <<'CODE', 'ok', { stderr => 1 }, '(?{die})';
+ eval { "a" =~ /(?{die})a/ }; print "ok"
+CODE
+fresh_perl_is <<'CODE', 'ok', { stderr => 1 }, '(?{last})';
+ { "a" =~ /(?{last})a/ }; print "ok"
+CODE
+fresh_perl_is <<'CODE', 'ok', { stderr => 1 }, '(?{next})';
+ { "a" =~ /(?{last})a/ }; print "ok"
+CODE
+fresh_perl_is <<'CODE', 'ok', { stderr => 1 }, '(?{return})';
+ print sub { "a" =~ /(?{return "ok"})a/ }->();
+CODE
+fresh_perl_is <<'CODE', 'ok', { stderr => 1 }, '(?{goto})';
+ "a" =~ /(?{goto _})a/; die; _: print "ok"
+CODE