summaryrefslogtreecommitdiff
path: root/ext/pcre/tests/bug27103.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/pcre/tests/bug27103.phpt')
-rw-r--r--ext/pcre/tests/bug27103.phpt43
1 files changed, 43 insertions, 0 deletions
diff --git a/ext/pcre/tests/bug27103.phpt b/ext/pcre/tests/bug27103.phpt
new file mode 100644
index 0000000..163dc9f
--- /dev/null
+++ b/ext/pcre/tests/bug27103.phpt
@@ -0,0 +1,43 @@
+--TEST--
+Bug #27103 (preg_split('//u') incorrectly splits UTF-8 strings into octets)
+--SKIPIF--
+<?php
+if (@preg_match('/./u', '') === false) {
+ die('skip no utf8 support in PCRE library');
+}
+?>
+--FILE--
+<?php
+function iter($ar)
+{
+ foreach ($ar as $c) {
+ echo htmlentities($c, 0, "UTF-8"), ": ", strlen($c), "\n";
+ }
+}
+$teststr = "\xe2\x82\xac hi there";
+iter(preg_split('//u', $teststr, -1, PREG_SPLIT_NO_EMPTY));
+preg_match_all('/./u', $teststr, $matches);
+iter($matches[0]);
+?>
+--EXPECT--
+&euro;: 3
+ : 1
+h: 1
+i: 1
+ : 1
+t: 1
+h: 1
+e: 1
+r: 1
+e: 1
+&euro;: 3
+ : 1
+h: 1
+i: 1
+ : 1
+t: 1
+h: 1
+e: 1
+r: 1
+e: 1
+