Skip to content

Commit c55d09c

Browse files
committed
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.
1 parent fee3863 commit c55d09c

File tree

3 files changed

+40
-2
lines changed

3 files changed

+40
-2
lines changed

ext/mbstring/tests/bug78633.phpt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,12 @@ if (!function_exists('mb_eregi')) die('skip mb_eregi function not available');
77
?>
88
--FILE--
99
<?php
10-
var_dump(mb_eregi(".+Isssǰ", ".+Isssǰ"));
10+
$res = mb_eregi(".+Isssǰ", ".+Isssǰ");
11+
if ($res === 1 || $res === false) {
12+
echo "ok\n";
13+
} else {
14+
var_dump($res);
15+
}
1116
?>
1217
--EXPECT--
13-
bool(false)
18+
ok

ext/mbstring/tests/mb_ereg_search_named_subpatterns.phpt renamed to ext/mbstring/tests/mb_ereg_search_named_subpatterns_1.phpt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Testing mb_ereg_search() named capture groups
44
<?php
55
if (!extension_loaded('mbstring')) die('skip mbstring not enabled');
66
function_exists('mb_ereg_search') or die("skip mb_ereg_search() is not available in this build");
7+
version_compare(MB_ONIGURUMA_VERSION, '6.9.4', '<') or die("skip requires oniguruma < 6.9.4");
78
?>
89
--FILE--
910
<?php
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
--TEST--
2+
Testing mb_ereg_search() named capture groups
3+
--SKIPIF--
4+
<?php
5+
if (!extension_loaded('mbstring')) die('skip mbstring not enabled');
6+
function_exists('mb_ereg_search') or die("skip mb_ereg_search() is not available in this build");
7+
version_compare(MB_ONIGURUMA_VERSION, '6.9.4', '>=') or die("skip requires oniguruma >= 6.9.4");
8+
?>
9+
--FILE--
10+
<?php
11+
mb_regex_encoding("UTF-8");
12+
mb_ereg_search_init(' 中国?');
13+
mb_ereg_search('(?<wsp>\s*)(?<word>\w+)(?<punct>[?!])');
14+
var_dump(mb_ereg_search_getregs());
15+
?>
16+
--EXPECT--
17+
array(7) {
18+
[0]=>
19+
string(11) " 中国?"
20+
[1]=>
21+
string(2) " "
22+
[2]=>
23+
string(6) "中国"
24+
[3]=>
25+
string(3) "?"
26+
["wsp"]=>
27+
string(2) " "
28+
["word"]=>
29+
string(6) "中国"
30+
["punct"]=>
31+
string(3) "?"
32+
}

0 commit comments

Comments
 (0)