diff options
Diffstat (limited to 't/op/pat.t')
-rw-r--r-- | t/op/pat.t | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/t/op/pat.t b/t/op/pat.t index 87a05dc676..00c54902f4 100644 --- a/t/op/pat.t +++ b/t/op/pat.t @@ -13,7 +13,7 @@ sub run_tests; $| = 1; -my $EXPECTED_TESTS = 4065; # Update this when adding/deleting tests. +my $EXPECTED_TESTS = 4066; # Update this when adding/deleting tests. BEGIN { chdir 't' if -d 't'; @@ -4347,6 +4347,24 @@ sub run_tests { } } + # This only works under -DEBUGGING because it relies on an assert(). + { + local $BugId = '60508'; + local $Message = "Check capture offset re-entrancy of utf8 code."; + + sub fswash { $_[0] =~ s/([>X])//g; } + + my $k1 = "." x 4 . ">>"; + fswash($k1); + + my $k2 = "\x{f1}\x{2022}"; + $k2 =~ s/([\360-\362])/>/g; + fswash($k2); + + iseq($k2, "\x{2022}", "utf8::SWASHNEW doesn't cause capture leaks"); + } + + { local $BugId = 65372; # minimal CURLYM limited to 32767 matches my @pat = ( |