Add test for \b{sb}
authorKarl Williamson <khw@cpan.org>
Wed, 21 Oct 2015 17:47:25 +0000 (11:47 -0600)
committerKarl Williamson <khw@cpan.org>
Thu, 22 Oct 2015 03:38:53 +0000 (21:38 -0600)
It turns out that the merge commit
f0bd363c36d925d8d3dfe3b68715763c850b171a makes \b{sb} work much better,
with the main improvement being by commit
43a7bd62098d36de61176a40d7eb3e72a2b9f033.

We were puzzled as to why it didn't seem to work as advertised, yet
passed all the extensive tests furnished by Unicode.  The answer appears
to be that that those tests mostly test pair-wise things, and the bug
was because results were getting overwritten for longer inputs.
This new test is a simple, but long one.

pod/perldelta.pod
t/re/pat_advanced.t

index bb57974..1e973d4 100644 (file)
@@ -338,7 +338,12 @@ files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
 
 =item *
 
-XXX
+C<\b{sb}> works much better.  In Perl v5.22.0, this new construct didn't
+seem to give the expected results, yet passed all the tests in the
+extensive suite furnished by Unicode.  It turns out that it was because
+these were short input strings, and the failures had to do with longer
+inputs.  This was fixed in Perl 5.23.4, but the improvement was not
+noticed until after that was released, so is included here now.
 
 =back
 
index e27ed7a..7d48f47 100644 (file)
@@ -2316,6 +2316,9 @@ EOF
         is "$1" || $@, "at", 'empty \N{...} stringified and retoked';
     }
 
+    is (scalar split(/\b{sb}/, "Don't think twice.  It's all right."),
+        2, '\b{wb} splits sentences correctly');
+
 
     # !!! NOTE!  Keep the following tests last -- they may crash perl