summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2012-02-28 10:11:35 -0700
committerKarl Williamson <public@khwilliamson.com>2012-02-28 10:24:52 -0700
commitb4069bca6054692e4fffa8e9e04572511e910fbd (patch)
tree1f840d06fa883007d35290ad1f411960c583b596 /t
parent5ef3c22d461004ed95fd0cee11e2926f8b87bc7c (diff)
downloadperl-b4069bca6054692e4fffa8e9e04572511e910fbd.tar.gz
Patch [perl #111400] [:upper:] broken for above Latin1
This was an off-by-one error caused by my failing to realize that things had to be done differently at the 255/256 boundary depending on whether U+00FF matched or did not match the property. Two properties were affected, [:upper:] and [:punct:]. The bug was that all code points above the first one > 255 that legitimately matches the property will match whether or not they should. In the case of [:upper:], this meant that effectively anything from 256..infinity matched. For [:punct:], it was anything above U+037D.
Diffstat (limited to 't')
-rw-r--r--t/re/re_tests22
1 files changed, 22 insertions, 0 deletions
diff --git a/t/re/re_tests b/t/re/re_tests
index e7680c9c23..4d78a6aed8 100644
--- a/t/re/re_tests
+++ b/t/re/re_tests
@@ -1575,4 +1575,26 @@ abc\N{def - c - \\N{NAME} must be resolved by the lexer
# [perl #110648]
[^\p{Alphabetic}] \x{100} n - -
+# [perl #111400]. Tests the first Y/N boundary above 255 for each of these.
+/[[:alnum:]]/ \x{2c1} y - -
+/[[:alnum:]]/ \x{2c2} n - -
+/[[:alpha:]]/ \x{2c1} y - -
+/[[:alpha:]]/ \x{2c2} n - -
+/[[:graph:]]/ \x{377} y - -
+/[[:graph:]]/ \x{378} n - -
+/[[:lower:]]/ \x{100} n - -
+/[[:lower:]]/ \x{101} y - -
+/[[:lower:]]/ \x{102} n - -
+/[[:print:]]/ \x{377} y - -
+/[[:print:]]/ \x{378} n - -
+/[[:punct:]]/ \x{37D} n - -
+/[[:punct:]]/ \x{37E} y - -
+/[[:punct:]]/ \x{388} n - -
+/[[:upper:]]/ \x{100} y - -
+/[[:upper:]]/ \x{101} n - -
+/[[:word:]]/ \x{2c1} y - -
+/[[:word:]]/ \x{2c2} n - -
+
+
+
# vim: softtabstop=0 noexpandtab