summaryrefslogtreecommitdiff
path: root/ext/mbstring/tests
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mbstring/tests')
-rw-r--r--ext/mbstring/tests/common.inc6
-rw-r--r--ext/mbstring/tests/mb_ereg1.phpt79
-rw-r--r--ext/mbstring/tests/mb_ereg2.phpt41
-rw-r--r--ext/mbstring/tests/mb_send_mail01.phpt2
-rw-r--r--ext/mbstring/tests/mb_send_mail02.phpt2
-rw-r--r--ext/mbstring/tests/mb_send_mail03.phpt2
-rw-r--r--ext/mbstring/tests/mb_send_mail04.phpt2
-rw-r--r--ext/mbstring/tests/mb_send_mail05.phpt2
-rw-r--r--ext/mbstring/tests/mb_send_mail06.phpt2
-rw-r--r--ext/mbstring/tests/mb_send_mail07.phpt2
-rw-r--r--ext/mbstring/tests/mb_strlen.phpt38
-rw-r--r--ext/mbstring/tests/mb_substr.phpt1
12 files changed, 149 insertions, 30 deletions
diff --git a/ext/mbstring/tests/common.inc b/ext/mbstring/tests/common.inc
index e8fb411b0..1df634107 100644
--- a/ext/mbstring/tests/common.inc
+++ b/ext/mbstring/tests/common.inc
@@ -18,7 +18,9 @@ function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
128 => "Compile Warning", // E_COMPILE_WARNING
256 => "User Error", // E_USER_ERROR
512 => "User Warning", // E_USER_WARMING
- 1024=> "User Notice" // E_USER_NOTICE
+ 1024=> "User Notice", // E_USER_NOTICE
+ 2048=> "Strict Notice", // E_STRICT
+ 4096=> "Catchable fatal error", // E_RECOVERABLE_ERROR
);
if (!empty($debug)) {
@@ -50,4 +52,4 @@ class tc
$t_obj = new tc;
-?> \ No newline at end of file
+?>
diff --git a/ext/mbstring/tests/mb_ereg1.phpt b/ext/mbstring/tests/mb_ereg1.phpt
new file mode 100644
index 000000000..e420312da
--- /dev/null
+++ b/ext/mbstring/tests/mb_ereg1.phpt
@@ -0,0 +1,79 @@
+--TEST--
+mb_ereg() and invalid arguments
+--SKIPIF--
+<?php if (!function_exists("mb_ereg")) print "skip"; ?>
+--FILE--
+<?php
+
+$a = array(
+ array(1,2,3),
+ array("", "", ""),
+ array(array(), 1, ""),
+ array(1, array(), ""),
+ array(1, "", array()),
+ );
+
+foreach ($a as $args) {
+ var_dump(mb_ereg($args[0], $args[1], $args[2]));
+ var_dump($args);
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+bool(false)
+array(3) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(2)
+ [2]=>
+ int(3)
+}
+int(1)
+array(3) {
+ [0]=>
+ string(0) ""
+ [1]=>
+ string(0) ""
+ [2]=>
+ array(1) {
+ [0]=>
+ bool(false)
+ }
+}
+
+Notice: Array to string conversion in %s on line %d
+bool(false)
+array(3) {
+ [0]=>
+ array(0) {
+ }
+ [1]=>
+ int(1)
+ [2]=>
+ string(0) ""
+}
+
+Warning: mb_ereg() expects parameter 2 to be string, array given in %s on line %d
+bool(false)
+array(3) {
+ [0]=>
+ int(1)
+ [1]=>
+ array(0) {
+ }
+ [2]=>
+ string(0) ""
+}
+bool(false)
+array(3) {
+ [0]=>
+ int(1)
+ [1]=>
+ string(0) ""
+ [2]=>
+ array(0) {
+ }
+}
+Done
diff --git a/ext/mbstring/tests/mb_ereg2.phpt b/ext/mbstring/tests/mb_ereg2.phpt
new file mode 100644
index 000000000..922a8e78d
--- /dev/null
+++ b/ext/mbstring/tests/mb_ereg2.phpt
@@ -0,0 +1,41 @@
+--TEST--
+mb_ereg() returning matches
+--SKIPIF--
+<?php if (!function_exists("mb_ereg")) print "skip"; ?>
+--FILE--
+<?php
+
+$a = -1; $b = -1; $c = -1;
+mbereg($a, $b, $c);
+var_dump($a, $b, $c);
+
+mberegi($a, $b, $c);
+var_dump($a, $b, $c);
+
+mbereg_search_init($a, $b, $c);
+var_dump($a, $b, $c);
+
+echo "Done\n";
+?>
+--EXPECTF--
+int(-1)
+int(-1)
+array(1) {
+ [0]=>
+ string(2) "-1"
+}
+int(-1)
+int(-1)
+array(1) {
+ [0]=>
+ string(2) "-1"
+}
+
+Notice: Array to string conversion in %s on line %d
+int(-1)
+int(-1)
+array(1) {
+ [0]=>
+ string(2) "-1"
+}
+Done
diff --git a/ext/mbstring/tests/mb_send_mail01.phpt b/ext/mbstring/tests/mb_send_mail01.phpt
index bc481fbba..26d2ed2ec 100644
--- a/ext/mbstring/tests/mb_send_mail01.phpt
+++ b/ext/mbstring/tests/mb_send_mail01.phpt
@@ -2,7 +2,7 @@
mb_send_mail() test 1 (lang=neutral)
--SKIPIF--
<?php
-if (@mb_send_mail() === false || !mb_language("neutral")) {
+if (!function_exists("mb_send_mail") || !mb_language("neutral")) {
die("skip mb_send_mail() not available");
}
?>
diff --git a/ext/mbstring/tests/mb_send_mail02.phpt b/ext/mbstring/tests/mb_send_mail02.phpt
index 34dee474b..6a2dbcfeb 100644
--- a/ext/mbstring/tests/mb_send_mail02.phpt
+++ b/ext/mbstring/tests/mb_send_mail02.phpt
@@ -2,7 +2,7 @@
mb_send_mail() test 2 (lang=Japanese)
--SKIPIF--
<?php
-if (@mb_send_mail() === false || !mb_language("japanese")) {
+if (!function_exists("mb_send_mail") || !mb_language("japanese")) {
die("skip mb_send_mail() not available");
}
?>
diff --git a/ext/mbstring/tests/mb_send_mail03.phpt b/ext/mbstring/tests/mb_send_mail03.phpt
index 3113d8e2b..4be1f8346 100644
--- a/ext/mbstring/tests/mb_send_mail03.phpt
+++ b/ext/mbstring/tests/mb_send_mail03.phpt
@@ -2,7 +2,7 @@
mb_send_mail() test 3 (lang=English)
--SKIPIF--
<?php
-if (@mb_send_mail() === false || !mb_language("english")) {
+if (!function_exists("mb_send_mail") || !mb_language("english")) {
die("skip mb_send_mail() not available");
}
?>
diff --git a/ext/mbstring/tests/mb_send_mail04.phpt b/ext/mbstring/tests/mb_send_mail04.phpt
index 468a1e367..06aa3a415 100644
--- a/ext/mbstring/tests/mb_send_mail04.phpt
+++ b/ext/mbstring/tests/mb_send_mail04.phpt
@@ -2,7 +2,7 @@
mb_send_mail() test 4 (lang=German)
--SKIPIF--
<?php
-if (@mb_send_mail() === false || !mb_language("german")) {
+if (!function_exists("mb_send_mail") || !mb_language("german")) {
die("skip mb_send_mail() not available");
}
?>
diff --git a/ext/mbstring/tests/mb_send_mail05.phpt b/ext/mbstring/tests/mb_send_mail05.phpt
index 7033424b8..cd3eaf4ed 100644
--- a/ext/mbstring/tests/mb_send_mail05.phpt
+++ b/ext/mbstring/tests/mb_send_mail05.phpt
@@ -2,7 +2,7 @@
mb_send_mail() test 5 (lang=Simplified Chinese)
--SKIPIF--
<?php
-if (@mb_send_mail() === false || !mb_language("Simplified Chinese")) {
+if (!function_exists("mb_send_mail") || !mb_language("Simplified Chinese")) {
die("skip mb_send_mail() not available");
}
if (!@mb_internal_encoding('GB2312')) {
diff --git a/ext/mbstring/tests/mb_send_mail06.phpt b/ext/mbstring/tests/mb_send_mail06.phpt
index 2e8c15128..08cf24013 100644
--- a/ext/mbstring/tests/mb_send_mail06.phpt
+++ b/ext/mbstring/tests/mb_send_mail06.phpt
@@ -2,7 +2,7 @@
mb_send_mail() test 6 (lang=Traditional Chinese)
--SKIPIF--
<?php
-if (@mb_send_mail() === false || !mb_language("Traditional Chinese")) {
+if (!function_exists("mb_send_mail") || !mb_language("Traditional Chinese")) {
die("skip mb_send_mail() not available");
}
if (!@mb_internal_encoding('BIG5')) {
diff --git a/ext/mbstring/tests/mb_send_mail07.phpt b/ext/mbstring/tests/mb_send_mail07.phpt
index 21fdaa597..ef2965265 100644
--- a/ext/mbstring/tests/mb_send_mail07.phpt
+++ b/ext/mbstring/tests/mb_send_mail07.phpt
@@ -2,7 +2,7 @@
mb_send_mail() test 7 (lang=Korean)
--SKIPIF--
<?php
-if (@mb_send_mail() === false || !mb_language("Korean")) {
+if (!function_exists("mb_send_mail") || !mb_language("Korean")) {
die("skip mb_send_mail() not available");
}
if (!@mb_internal_encoding('ISO-2022-KR')) {
diff --git a/ext/mbstring/tests/mb_strlen.phpt b/ext/mbstring/tests/mb_strlen.phpt
index 6a71b4158..5fc19f454 100644
--- a/ext/mbstring/tests/mb_strlen.phpt
+++ b/ext/mbstring/tests/mb_strlen.phpt
@@ -21,35 +21,35 @@ $ascii = 'abcdefghijklmnopqrstuvwxyz;]=#0123456789';
// ASCII
echo "== ASCII ==\n";
-print strlen($ascii,'ASCII') . "\n";
+print mb_strlen($ascii,'ASCII') . "\n";
print strlen($ascii) . "\n";
// EUC-JP
echo "== EUC-JP ==\n";
-print strlen($euc_jp,'EUC-JP') . "\n";
+print mb_strlen($euc_jp,'EUC-JP') . "\n";
mb_internal_encoding('EUC-JP') or print("mb_internal_encoding() failed\n");
print strlen($euc_jp) . "\n";
// SJIS
echo "== SJIS ==\n";
-$sjis = mb_convert_encoding($euc_jp, 'SJIS');
-print strlen($sjis,'SJIS') . "\n";
+$sjis = mb_convert_encoding($euc_jp, 'SJIS','EUC-JP');
+print mb_strlen($sjis,'SJIS') . "\n";
mb_internal_encoding('SJIS') or print("mb_internal_encoding() failed\n");
print strlen($sjis) . "\n";
// JIS
// Note: either convert_encoding or strlen has problem
echo "== JIS ==\n";
-$jis = mb_convert_encoding($euc_jp, 'JIS');
-print strlen($jis,'JIS') . "\n";
+$jis = mb_convert_encoding($euc_jp, 'JIS','EUC-JP');
+print mb_strlen($jis,'JIS') . "\n";
mb_internal_encoding('JIS') or print("mb_internal_encoding() failed\n");
print strlen($jis) . "\n";
// UTF-8
// Note: either convert_encoding or strlen has problem
echo "== UTF-8 ==\n";
-$utf8 = mb_convert_encoding($euc_jp, 'UTF-8');
-print strlen($utf8,'UTF-8') . "\n";
+$utf8 = mb_convert_encoding($euc_jp, 'UTF-8','EUC-JP');
+print mb_strlen($utf8,'UTF-8') . "\n";
mb_internal_encoding('UTF-8') or print("mb_internal_encoding() failed\n");
print strlen($utf8) . "\n";
@@ -66,7 +66,7 @@ $r = strlen($t_obj);
echo $r."\n";
// Wrong encoding
mb_internal_encoding('EUC-JP');
-$r = strlen($euc_jp, 'BAD_NAME');
+$r = mb_strlen($euc_jp, 'BAD_NAME');
echo $r."\n";
@@ -76,28 +76,24 @@ echo $r."\n";
--EXPECT--
== ASCII ==
-ERR: Warning
-
+40
40
== EUC-JP ==
-ERR: Warning
-
+43
72
== SJIS ==
-ERR: Warning
-
+43
72
== JIS ==
-ERR: Warning
-
-121
+43
+90
== UTF-8 ==
-ERR: Warning
-
-174
+43
+101
== WRONG PARAMETERS ==
ERR: Notice
5
+ERR: Catchable fatal error
ERR: Notice
6
ERR: Warning
diff --git a/ext/mbstring/tests/mb_substr.phpt b/ext/mbstring/tests/mb_substr.phpt
index 893cb6481..579e7ffb5 100644
--- a/ext/mbstring/tests/mb_substr.phpt
+++ b/ext/mbstring/tests/mb_substr.phpt
@@ -4,6 +4,7 @@ mb_substr()
<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
--INI--
output_handler=
+mbstring.func_overload=0
--FILE--
<?php
// TODO: Add more encodings