summaryrefslogtreecommitdiff
path: root/t/re
diff options
context:
space:
mode:
Diffstat (limited to 't/re')
-rw-r--r--t/re/pat.t44
1 files changed, 42 insertions, 2 deletions
diff --git a/t/re/pat.t b/t/re/pat.t
index e7e019f7ce..7292e4625a 100644
--- a/t/re/pat.t
+++ b/t/re/pat.t
@@ -27,7 +27,7 @@ skip_all_without_unicode_tables();
my $has_locales = locales_enabled('LC_CTYPE');
-plan tests => 1022; # Update this when adding/deleting tests.
+plan tests => 1046; # Update this when adding/deleting tests.
run_tests() unless caller;
@@ -670,7 +670,47 @@ sub run_tests {
@_ = /(bbb)/g;
is("@_", "", $message);
}
-
+ {
+ my $message = 'ACCEPT and CLOSE - ';
+ $_ = "aced";
+ #12 3 4 5
+ /((a?(*ACCEPT)())())()/
+ or die "Failed to match";
+ is($1,"a",$message . "buffer 1 is defined with expected value");
+ is($2,"a",$message . "buffer 2 is defined with expected value");
+ ok(!defined($3),$message . "buffer 3 is not defined");
+ ok(!defined($4),$message . "buffer 4 is not defined");
+ ok(!defined($5),$message . "buffer 5 is not defined");
+ ok(!defined($6),$message . "buffer 6 is not defined");
+ $message= 'NO ACCEPT and CLOSE - ';
+ /((a?())())()/
+ or die "Failed to match";
+ is($1,"a",$message . "buffer 1 is defined with expected value");
+ is($2,"a",$message . "buffer 2 is defined with expected value");
+ is($3,"", $message . "buffer 3 is defined with expected value");
+ is($4,"", $message . "buffer 4 is defined with expected value");
+ is($5,"",$message . "buffer 5 is defined with expected value");
+ ok(!defined($6),$message . "buffer 6 is not defined");
+ #12 3 4 5
+ $message = 'ACCEPT and CLOSE - ';
+ /((a?(*ACCEPT)(c))(e))(d)/
+ or die "Failed to match";
+ is($1,"a",$message . "buffer 1 is defined with expected value");
+ is($2,"a",$message . "buffer 2 is defined with expected value");
+ ok(!defined($3),$message . "buffer 3 is not defined");
+ ok(!defined($4),$message . "buffer 4 is not defined");
+ ok(!defined($5),$message . "buffer 5 is not defined");
+ ok(!defined($6),$message . "buffer 6 is not defined");
+ $message= 'NO ACCEPT and CLOSE - ';
+ /((a?(c))(e))(d)/
+ or die "Failed to match";
+ is($1,"ace", $message . "buffer 1 is defined with expected value");
+ is($2,"ac", $message . "buffer 2 is defined with expected value");
+ is($3,"c", $message . "buffer 3 is defined with expected value");
+ is($4,"e", $message . "buffer 4 is defined with expected value");
+ is($5,"d", $message . "buffer 5 is defined with expected value");
+ ok(!defined($6),$message . "buffer 6 is not defined");
+ }
{
my $message = '@- and @+ and @{^CAPTURE} tests';