summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2019-11-29 16:47:10 +0100
committerChristoph M. Becker <cmbecker69@gmx.de>2019-11-29 16:59:19 +0100
commitc55d09c2f547634b577aa5aeaa1438d772bc29d1 (patch)
tree32868b51eb61a16b54057faf3a3167c351c36879
parentfee38633d2f81a1bc9c14093e017319b1cd6a2cf (diff)
downloadphp-git-c55d09c2f547634b577aa5aeaa1438d772bc29d1.tar.gz
Adapt test cases for Oniguruma 6.9.4
Apparently, bug 78633 has now really been fixed; the former fix only catered to the buffer overflow, but yielded a wrong result. Also, the order of the named captures has been fixed.
-rw-r--r--ext/mbstring/tests/bug78633.phpt9
-rw-r--r--ext/mbstring/tests/mb_ereg_search_named_subpatterns_1.phpt (renamed from ext/mbstring/tests/mb_ereg_search_named_subpatterns.phpt)1
-rw-r--r--ext/mbstring/tests/mb_ereg_search_named_subpatterns_2.phpt32
3 files changed, 40 insertions, 2 deletions
diff --git a/ext/mbstring/tests/bug78633.phpt b/ext/mbstring/tests/bug78633.phpt
index 3ff69a1867..a1d6dd5602 100644
--- a/ext/mbstring/tests/bug78633.phpt
+++ b/ext/mbstring/tests/bug78633.phpt
@@ -7,7 +7,12 @@ if (!function_exists('mb_eregi')) die('skip mb_eregi function not available');
?>
--FILE--
<?php
-var_dump(mb_eregi(".+Isssǰ", ".+Isssǰ"));
+$res = mb_eregi(".+Isssǰ", ".+Isssǰ");
+if ($res === 1 || $res === false) {
+ echo "ok\n";
+} else {
+ var_dump($res);
+}
?>
--EXPECT--
-bool(false)
+ok
diff --git a/ext/mbstring/tests/mb_ereg_search_named_subpatterns.phpt b/ext/mbstring/tests/mb_ereg_search_named_subpatterns_1.phpt
index f899e9beeb..f6ab8c0c36 100644
--- a/ext/mbstring/tests/mb_ereg_search_named_subpatterns.phpt
+++ b/ext/mbstring/tests/mb_ereg_search_named_subpatterns_1.phpt
@@ -4,6 +4,7 @@ Testing mb_ereg_search() named capture groups
<?php
if (!extension_loaded('mbstring')) die('skip mbstring not enabled');
function_exists('mb_ereg_search') or die("skip mb_ereg_search() is not available in this build");
+version_compare(MB_ONIGURUMA_VERSION, '6.9.4', '<') or die("skip requires oniguruma < 6.9.4");
?>
--FILE--
<?php
diff --git a/ext/mbstring/tests/mb_ereg_search_named_subpatterns_2.phpt b/ext/mbstring/tests/mb_ereg_search_named_subpatterns_2.phpt
new file mode 100644
index 0000000000..78332da662
--- /dev/null
+++ b/ext/mbstring/tests/mb_ereg_search_named_subpatterns_2.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Testing mb_ereg_search() named capture groups
+--SKIPIF--
+<?php
+if (!extension_loaded('mbstring')) die('skip mbstring not enabled');
+function_exists('mb_ereg_search') or die("skip mb_ereg_search() is not available in this build");
+version_compare(MB_ONIGURUMA_VERSION, '6.9.4', '>=') or die("skip requires oniguruma >= 6.9.4");
+?>
+--FILE--
+<?php
+ mb_regex_encoding("UTF-8");
+ mb_ereg_search_init(' 中国?');
+ mb_ereg_search('(?<wsp>\s*)(?<word>\w+)(?<punct>[?!])');
+ var_dump(mb_ereg_search_getregs());
+?>
+--EXPECT--
+array(7) {
+ [0]=>
+ string(11) " 中国?"
+ [1]=>
+ string(2) " "
+ [2]=>
+ string(6) "中国"
+ [3]=>
+ string(3) "?"
+ ["wsp"]=>
+ string(2) " "
+ ["word"]=>
+ string(6) "中国"
+ ["punct"]=>
+ string(3) "?"
+}