$| = 1;
-my $EXPECTED_TESTS = 4061; # Update this when adding/deleting tests.
+my $EXPECTED_TESTS = 4065; # Update this when adding/deleting tests.
BEGIN {
chdir 't' if -d 't';
nok "b$a=" =~ /a$a=/;
ok "b$a=" =~ /ba+=/;
- local $TODO = "See bug 60464" if $l > 32767;
ok "ba$a=" =~ /b(?:a|b)+=/;
}
}
{
local $BugId = '60034';
- local $TODO = "See bug 60034";
my $a = "xyzt" x 8192;
ok $a =~ /\A(?>[a-z])*\z/,
'(?>) does not cause wrongness on long string';
my $b = $a . chr 256;
chop $b;
{
- local $TODO;
iseq $a, $b;
}
ok $b =~ /\A(?>[a-z])*\z/,
my $c = 0;
for my $test (
+ # Test structure:
+ # [ Expected result, Regex, Expected value(s) of $^N, Expected value(s) of $+ ]
[ 1, qr#^$nested_tags$#, "bla blubb bla", "a b a" ],
[ 1, qr#^($nested_tags)$#, "bla blubb <bla><blubb></blubb></bla>", "a b a" ],
[ 1, qr#^(|)$nested_tags$#, "bla blubb bla", "a b a" ],
my $re8 = qr/(\d+)/;
my $c = 0;
for my $test (
+ # Test structure:
+ # [
+ # String to match
+ # Regex too match
+ # Expected values of $^N
+ # Expected values of $+
+ # Expected values of $1, $2, $3, $4 and $5
+ # ]
[
"1233",
qr#^(1)((??{ push @ctl_n, $f->($^N); push @plus, $f->($+); $^N + 1}))+(??{$^N})$#,
iseq($str, "\$1 = undef, \$2 = undef, \$3 = undef, \$4 = undef, \$5 = undef, \$^R = undef");
}
}
+
+ {
+ local $BugId = 65372; # minimal CURLYM limited to 32767 matches
+ my @pat = (
+ qr{a(x|y)*b}, # CURLYM
+ qr{a(x|y)*?b}, # .. with minmod
+ qr{a([wx]|[yz])*b}, # .. and without tries
+ qr{a([wx]|[yz])*?b},
+ );
+ my $len = 32768;
+ my $s = join '', 'a', 'x' x $len, 'b';
+ for my $pat (@pat) {
+ ok($s =~ $pat, $pat);
+ }
+ }
#
# This should be the last test.
#