diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2019-11-29 16:47:10 +0100 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2019-11-29 16:59:19 +0100 |
commit | c55d09c2f547634b577aa5aeaa1438d772bc29d1 (patch) | |
tree | 32868b51eb61a16b54057faf3a3167c351c36879 | |
parent | fee38633d2f81a1bc9c14093e017319b1cd6a2cf (diff) | |
download | php-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.phpt | 9 | ||||
-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.phpt | 32 |
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) "?" +} |