summaryrefslogtreecommitdiff
path: root/ext/mbstring/tests
diff options
context:
space:
mode:
authorMark A. Hershberger <mah@debian.(none)>2009-03-25 19:39:21 -0400
committerMark A. Hershberger <mah@debian.(none)>2009-03-25 19:39:21 -0400
commit6821b67124604da690c5e9276d5370d679c63ac8 (patch)
treebefb4ca2520eb577950cef6cb76d10b914cbf67a /ext/mbstring/tests
parentcd0b49c72aee33b3e44a9c589fcd93b9e1c7a64f (diff)
downloadphp-6821b67124604da690c5e9276d5370d679c63ac8.tar.gz
Imported Upstream version 5.3.0RC1upstream/5.3.0_RC1upstream/5.3.0RC1
Diffstat (limited to 'ext/mbstring/tests')
-rw-r--r--ext/mbstring/tests/bug20087.phpt2
-rw-r--r--ext/mbstring/tests/bug43301.phpt1
-rw-r--r--ext/mbstring/tests/htmlent.phpt2
-rw-r--r--ext/mbstring/tests/illformed_utf_sequences.phpt148
-rw-r--r--ext/mbstring/tests/mb_convert_encoding.phpt2
-rw-r--r--ext/mbstring/tests/mb_convert_encoding_basic.phpt2
-rw-r--r--ext/mbstring/tests/mb_convert_encoding_variation1.phpt5
-rw-r--r--ext/mbstring/tests/mb_convert_variables.phpt2
-rw-r--r--ext/mbstring/tests/mb_detect_encoding.phpt2
-rw-r--r--ext/mbstring/tests/mb_detect_order.phpt2
-rw-r--r--ext/mbstring/tests/mb_encode_mimeheader_variation2.phpt2
-rw-r--r--ext/mbstring/tests/mb_encode_mimeheader_variation3.phpt2
-rw-r--r--ext/mbstring/tests/mb_encode_mimeheader_variation4.phpt2
-rw-r--r--ext/mbstring/tests/mb_encode_mimeheader_variation5.phpt2
-rw-r--r--ext/mbstring/tests/mb_encode_mimeheader_variation6.phpt2
-rw-r--r--ext/mbstring/tests/mb_encoding_aliases.phpt41
-rw-r--r--ext/mbstring/tests/mb_ereg1.phpt5
-rw-r--r--ext/mbstring/tests/mb_ereg2.phpt2
-rw-r--r--ext/mbstring/tests/mb_ereg_replace_error.phpt1
-rw-r--r--ext/mbstring/tests/mb_ereg_variation1.phpt2
-rw-r--r--ext/mbstring/tests/mb_get_info.phpt190
-rw-r--r--ext/mbstring/tests/mb_http_input.phpt2
-rw-r--r--ext/mbstring/tests/mb_http_output.phpt2
-rw-r--r--ext/mbstring/tests/mb_internal_encoding.phpt2
-rw-r--r--ext/mbstring/tests/mb_internal_encoding_variation1.phpt2
-rw-r--r--ext/mbstring/tests/mb_internal_encoding_variation2.phpt2
-rw-r--r--ext/mbstring/tests/mb_list_encodings.phpt14
-rw-r--r--ext/mbstring/tests/mb_output_handler_pattern-01.phpt18
-rw-r--r--ext/mbstring/tests/mb_output_handler_pattern-02.phpt18
-rw-r--r--ext/mbstring/tests/mb_output_handler_pattern-03.phpt18
-rw-r--r--ext/mbstring/tests/mb_output_handler_pattern-04.phpt18
-rw-r--r--ext/mbstring/tests/mb_output_handler_pattern-05.phpt17
-rw-r--r--ext/mbstring/tests/mb_output_handler_pattern-06.phpt18
-rw-r--r--ext/mbstring/tests/mb_output_handler_pattern-07.phpt19
-rw-r--r--ext/mbstring/tests/mb_output_handler_pattern-08.phpt19
-rw-r--r--ext/mbstring/tests/mb_output_handler_pattern-09.phpt19
-rw-r--r--ext/mbstring/tests/mb_output_handler_pattern-10.phpt19
-rw-r--r--ext/mbstring/tests/mb_output_handler_pattern-11.phpt17
-rw-r--r--ext/mbstring/tests/mb_output_handler_pattern-12.phpt18
-rw-r--r--ext/mbstring/tests/mb_output_handler_runtime_ini_alteration-01.phpt20
-rw-r--r--ext/mbstring/tests/mb_output_handler_runtime_ini_alteration-02.phpt20
-rw-r--r--ext/mbstring/tests/mb_preferred_mime_name.phpt2
-rw-r--r--ext/mbstring/tests/mb_regex_encoding_error1.phpt2
-rw-r--r--ext/mbstring/tests/mb_regex_encoding_variation1.phpt6
-rw-r--r--ext/mbstring/tests/mb_split.phpt21
-rw-r--r--ext/mbstring/tests/mb_strcut.phpt2
-rw-r--r--ext/mbstring/tests/mb_strimwidth.phpt2
-rw-r--r--ext/mbstring/tests/mb_stripos_variation2.phpt19
-rw-r--r--ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt2
-rw-r--r--ext/mbstring/tests/mb_stristr_variation1.phpt1
-rw-r--r--ext/mbstring/tests/mb_stristr_variation2.phpt1
-rw-r--r--ext/mbstring/tests/mb_strlen.phpt15
-rw-r--r--ext/mbstring/tests/mb_strlen_variation2.phpt2
-rw-r--r--ext/mbstring/tests/mb_strlen_variation3.phpt2
-rw-r--r--ext/mbstring/tests/mb_strpos_variation1.phpt2
-rw-r--r--ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt2
-rw-r--r--ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt2
-rw-r--r--ext/mbstring/tests/mb_strrpos_error1.phpt2
-rw-r--r--ext/mbstring/tests/mb_strrpos_error2.phpt2
-rw-r--r--ext/mbstring/tests/mb_strrpos_variation2.phpt2
-rw-r--r--ext/mbstring/tests/mb_strrpos_variation5.phpt2
-rw-r--r--ext/mbstring/tests/mb_strstr.phpt35
-rw-r--r--ext/mbstring/tests/mb_strtolower_basic.phpt2
-rw-r--r--ext/mbstring/tests/mb_strtolower_error1.phpt2
-rw-r--r--ext/mbstring/tests/mb_strtolower_error2.phpt5
-rw-r--r--ext/mbstring/tests/mb_strtolower_variation3.phpt2
-rw-r--r--ext/mbstring/tests/mb_strtoupper_error1.phpt2
-rw-r--r--ext/mbstring/tests/mb_strtoupper_error2.phpt2
-rw-r--r--ext/mbstring/tests/mb_strtoupper_variation3.phpt2
-rw-r--r--ext/mbstring/tests/mb_strwidth.phpt2
-rw-r--r--ext/mbstring/tests/mb_substitute_character.phpt2
-rw-r--r--ext/mbstring/tests/mb_substitute_character_error.phpt3
-rw-r--r--ext/mbstring/tests/mb_substitute_character_variation1.phpt7
-rw-r--r--ext/mbstring/tests/mb_substr_count_basic.phpt2
-rw-r--r--ext/mbstring/tests/mb_substr_count_error1.phpt2
-rw-r--r--ext/mbstring/tests/mb_substr_count_error2.phpt2
-rw-r--r--ext/mbstring/tests/mb_substr_error1.phpt4
-rw-r--r--ext/mbstring/tests/mb_substr_variation1.phpt7
-rw-r--r--ext/mbstring/tests/mb_substr_variation2.phpt7
-rw-r--r--ext/mbstring/tests/mb_substr_variation3.phpt2
-rw-r--r--ext/mbstring/tests/php_gr_jp_10830.phpt4
-rw-r--r--ext/mbstring/tests/php_gr_jp_dev_884-1.phpt3
-rw-r--r--ext/mbstring/tests/php_gr_jp_dev_884-2.phpt6
-rw-r--r--ext/mbstring/tests/zend_multibyte-01.phpt (renamed from ext/mbstring/tests/zend-multibyte.phpt)2
-rw-r--r--ext/mbstring/tests/zend_multibyte-02.phpt17
-rw-r--r--ext/mbstring/tests/zend_multibyte-03.phpt17
-rw-r--r--ext/mbstring/tests/zend_multibyte-04.phpt17
-rw-r--r--ext/mbstring/tests/zend_multibyte-05.phpt20
-rw-r--r--ext/mbstring/tests/zend_multibyte-06.phpt18
-rw-r--r--ext/mbstring/tests/zend_multibyte-07.phpt18
-rw-r--r--ext/mbstring/tests/zend_multibyte-08.phpt18
-rw-r--r--ext/mbstring/tests/zend_multibyte-09.phpt21
-rw-r--r--ext/mbstring/tests/zend_multibyte-10.phpt15
-rw-r--r--ext/mbstring/tests/zend_multibyte-11.phpt16
-rw-r--r--ext/mbstring/tests/zend_multibyte-12.phpt16
-rw-r--r--ext/mbstring/tests/zend_multibyte-13.phpt22
-rw-r--r--ext/mbstring/tests/zend_multibyte-14.phpt22
97 files changed, 1053 insertions, 83 deletions
diff --git a/ext/mbstring/tests/bug20087.phpt b/ext/mbstring/tests/bug20087.phpt
index efae733ca..d2530fa22 100644
--- a/ext/mbstring/tests/bug20087.phpt
+++ b/ext/mbstring/tests/bug20087.phpt
@@ -4,7 +4,7 @@ Bug #20087 (Assertion failure)
<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
--FILE--
<?php
-ini_set('include_path','.');
+ini_set('include_path', dirname(__FILE__));
include_once('common.inc');
$testmoo = "blah blah";
var_dump(mb_parse_str("testmoo"));
diff --git a/ext/mbstring/tests/bug43301.phpt b/ext/mbstring/tests/bug43301.phpt
index 858520fdf..71b169c12 100644
--- a/ext/mbstring/tests/bug43301.phpt
+++ b/ext/mbstring/tests/bug43301.phpt
@@ -12,6 +12,7 @@ hello, I have got a cr*sh on you
doc;
echo mb_ereg_replace($ptr,'$1',$txt,'e');
+
?>
--EXPECTF--
Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in %s/bug43301.php(%d) : mbregex replace on line 1
diff --git a/ext/mbstring/tests/htmlent.phpt b/ext/mbstring/tests/htmlent.phpt
index e49714ddc..33c3a5be5 100644
--- a/ext/mbstring/tests/htmlent.phpt
+++ b/ext/mbstring/tests/htmlent.phpt
@@ -2,7 +2,7 @@
HTML input/output
--SKIPIF--
<?php
- ini_set('include_path','.');
+ ini_set('include_path', dirname(__FILE__));
extension_loaded('mbstring') or die('skip mbstring not available');
?>
--INI--
diff --git a/ext/mbstring/tests/illformed_utf_sequences.phpt b/ext/mbstring/tests/illformed_utf_sequences.phpt
new file mode 100644
index 000000000..a462cd074
--- /dev/null
+++ b/ext/mbstring/tests/illformed_utf_sequences.phpt
@@ -0,0 +1,148 @@
+--TEST--
+Unicode standard conformance test (ill-formed UTF sequences.)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--FILE--
+<?php
+echo "UTF-8 redundancy\n";
+var_dump(bin2hex(mb_convert_encoding("\x31\x32\x33", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\x41\x42\x43", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xc0\xb1\xc0\xb2\xc0\xb3", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xc1\x81\xc1\x82\xc1\x83", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xe0\x80\xb1\xe0\x80\xb2\xe0\x80\xb3", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xe0\x81\x81\xe0\x81\x82\xe0\x81\x83", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xf0\x80\x80\xb1\xf0\x80\x80\xb2\xf0\x80\x80\xb3", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xf0\x80\x81\x81\xf0\x80\x81\x82\xf0\x81\x83", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xf8\x80\x80\x80\xb1\xf8\x80\x80\x80\xb2\xf8\x80\x80\x80\xb3", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xf8\x80\x80\x81\x81\xf8\x80\x80\x81\x82\xf8\x80\x80\x81\x83", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xfc\x80\x80\x80\x80\xb1\xfc\x80\x80\x80\x80\xb2\xfc\x80\x80\x80\x80\xb3", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xfc\x80\x80\x80\x81\x81\xfc\x80\x80\x80\x81\x82\xfc\x80\x80\x80\x81\x83", "UCS-4BE", "UTF-8")));
+
+var_dump(bin2hex(mb_convert_encoding("\xc2\xa2\xc2\xa3\xc2\xa5", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xe0\x82\xa2\xe0\x82\xa3\xe0\x82\xa5", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xf0\x80\x82\xa2\xf0\x80\x82\xa3\xf0\x80\x82\xa5", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xf8\x80\x80\x82\xa2\xf8\x80\x80\x82\xa3\xf8\x80\x80\x82\xa5", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xfc\x80\x80\x80\x82\xa2\xfc\x80\x80\x80\x82\xa3\xfc\x80\x80\x80\x82\xa5", "UCS-4BE", "UTF-8")));
+
+var_dump(bin2hex(mb_convert_encoding("\xc1\xbf", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xc2\x80", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xdf\xbf", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xe0\x9f\xff", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xe0\xa0\x80", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xef\xbf\xbf", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xf0\x8f\xbf\xbf", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xf0\x90\x80\x80", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xf7\xbf\xbf\xbf", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xf8\x87\xbf\xbf\xbf", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xf8\x88\x80\x80\x80", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xfb\xbf\xbf\xbf\xbf", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xfc\x83\xbf\xbf\xbf\xbf", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xfc\x84\x80\x80\x80\x80", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xfd\xaf\xbf\xbf\xbf\xbf", "UCS-4BE", "UTF-8")));
+var_dump(bin2hex(mb_convert_encoding("\xfd\xbf\xbf\xbf\xbf\xbf", "UCS-4BE", "UTF-8")));
+
+echo "UTF-8 and surrogates area\n";
+$out = '';
+for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
+ $out .= mb_convert_encoding(pack('C3', 0xe0 | ($i >> 12), 0x80 | ($i >> 6) & 0x3f, 0x80 | $i & 0x3f), "UCS-4BE", "UTF-8");
+}
+var_dump(bin2hex($out));
+
+echo "UTF-32 code range\n";
+var_dump(bin2hex(mb_convert_encoding("\x00\x11\x00\x00", "UCS-4BE", "UTF-32BE")));
+var_dump(bin2hex(mb_convert_encoding("\x00\x10\xff\xff", "UCS-4BE", "UTF-32BE")));
+var_dump(bin2hex(mb_convert_encoding("\x00\x00\x11\x00", "UCS-4BE", "UTF-32LE")));
+var_dump(bin2hex(mb_convert_encoding("\xff\xff\x10\x00", "UCS-4BE", "UTF-32LE")));
+var_dump(bin2hex(mb_convert_encoding("\x00\x11\x00\x00", "UCS-4BE", "UTF-32")));
+var_dump(bin2hex(mb_convert_encoding("\x00\x10\xff\xff", "UCS-4BE", "UTF-32")));
+var_dump(bin2hex(mb_convert_encoding("\x00\x00\xfe\xff\x00\x11\x00\x00", "UCS-4BE", "UTF-32")));
+var_dump(bin2hex(mb_convert_encoding("\x00\x00\xfe\xff\x00\x10\xff\xff", "UCS-4BE", "UTF-32")));
+var_dump(bin2hex(mb_convert_encoding("\xff\xfe\x00\x00\x00\x00\x11\x00", "UCS-4BE", "UTF-32")));
+var_dump(bin2hex(mb_convert_encoding("\xff\xfe\x00\x00\xff\xff\x10\x00", "UCS-4BE", "UTF-32")));
+
+echo "UTF-32 and surrogates area\n";
+$out = '';
+for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
+ $out .= mb_convert_encoding(pack('C4', $i >> 24, ($i >> 16) & 0xff, ($i >> 8) & 0xff, $i & 0xff), "UCS-4BE", "UTF-32BE");
+}
+var_dump(bin2hex($out));
+
+$out = '';
+for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
+ $out .= mb_convert_encoding(pack('C4', $i & 0xff, ($i >> 8) & 0xff, ($i >> 16) & 0xff, ($i >> 24) & 0xff), "UCS-4BE", "UTF-32LE");
+}
+var_dump(bin2hex($out));
+
+$out = '';
+for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
+ $out .= mb_convert_encoding(pack('C4', $i >> 24, ($i >> 16) & 0xff, ($i >> 8) & 0xff, $i & 0xff), "UCS-4BE", "UTF-32");
+}
+var_dump(bin2hex($out));
+
+$out = '';
+for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
+ $out .= mb_convert_encoding("\x00\x00\xfe\xff". pack('C4', $i >> 24, ($i >> 16) & 0xff, ($i >> 8) & 0xff, $i & 0xff), "UCS-4BE", "UTF-32");
+}
+var_dump(bin2hex(str_replace("\x00\x00\xfe\xff", "", $out)));
+
+
+$out = '';
+for ($i = 0xd7ff; $i <= 0xe000; ++$i) {
+ $out .= mb_convert_encoding("\xff\xfe\x00\x00". pack('C4', $i & 0xff, ($i >> 8) & 0xff, ($i >> 16) & 0xff, ($i >> 24) & 0xff), "UCS-4BE", "UTF-32");
+}
+var_dump(bin2hex(str_replace("\x00\x00\xfe\xff", "", $out)));
+?>
+--EXPECT--
+UTF-8 redundancy
+string(24) "000000310000003200000033"
+string(24) "000000410000004200000043"
+string(0) ""
+string(0) ""
+string(0) ""
+string(0) ""
+string(0) ""
+string(0) ""
+string(0) ""
+string(0) ""
+string(0) ""
+string(0) ""
+string(24) "000000a2000000a3000000a5"
+string(0) ""
+string(0) ""
+string(0) ""
+string(0) ""
+string(0) ""
+string(8) "00000080"
+string(8) "000007ff"
+string(0) ""
+string(8) "00000800"
+string(8) "0000ffff"
+string(0) ""
+string(8) "00010000"
+string(8) "001fffff"
+string(0) ""
+string(8) "00200000"
+string(8) "03ffffff"
+string(0) ""
+string(8) "04000000"
+string(8) "6fffffff"
+string(0) ""
+UTF-8 and surrogates area
+string(16) "0000d7ff0000e000"
+UTF-32 code range
+string(0) ""
+string(8) "0010ffff"
+string(0) ""
+string(8) "0010ffff"
+string(0) ""
+string(8) "0010ffff"
+string(8) "0000feff"
+string(16) "0000feff0010ffff"
+string(8) "0000feff"
+string(16) "0000feff0010ffff"
+UTF-32 and surrogates area
+string(16) "0000d7ff0000e000"
+string(16) "0000d7ff0000e000"
+string(16) "0000d7ff0000e000"
+string(16) "0000d7ff0000e000"
+string(16) "0000d7ff0000e000"
diff --git a/ext/mbstring/tests/mb_convert_encoding.phpt b/ext/mbstring/tests/mb_convert_encoding.phpt
index 9d8a40b9d..1bc7c8673 100644
--- a/ext/mbstring/tests/mb_convert_encoding.phpt
+++ b/ext/mbstring/tests/mb_convert_encoding.phpt
@@ -9,7 +9,7 @@ mbstring.language=Japanese
<?php
// TODO: Add more tests
//$debug = true; // Uncomment this line to view error/warning/notice message in *.out file
-ini_set('include_path','.');
+ini_set('include_path', dirname(__FILE__));
include_once('common.inc');
// SJIS string (BASE64 encoded)
diff --git a/ext/mbstring/tests/mb_convert_encoding_basic.phpt b/ext/mbstring/tests/mb_convert_encoding_basic.phpt
index d7f194eb2..0060a7180 100644
--- a/ext/mbstring/tests/mb_convert_encoding_basic.phpt
+++ b/ext/mbstring/tests/mb_convert_encoding_basic.phpt
@@ -92,4 +92,4 @@ Converted Strings:
string(72) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII="
string(72) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII="
string(72) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII="
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_convert_encoding_variation1.phpt b/ext/mbstring/tests/mb_convert_encoding_variation1.phpt
index 74cd12869..e3f1c83a1 100644
--- a/ext/mbstring/tests/mb_convert_encoding_variation1.phpt
+++ b/ext/mbstring/tests/mb_convert_encoding_variation1.phpt
@@ -201,6 +201,7 @@ string(24) "68656c6c6f2c20776f726c64"
-- Iteration 24 --
-Warning: mb_convert_encoding(): Unknown encoding "Resource id #%d" in %s on line %d
+Warning: mb_convert_encoding() expects parameter 2 to be string, resource given in %s on line %d
string(0) ""
-Done \ No newline at end of file
+Done
+
diff --git a/ext/mbstring/tests/mb_convert_variables.phpt b/ext/mbstring/tests/mb_convert_variables.phpt
index 901726bc4..01ced0510 100644
--- a/ext/mbstring/tests/mb_convert_variables.phpt
+++ b/ext/mbstring/tests/mb_convert_variables.phpt
@@ -9,7 +9,7 @@ mbstring.language=Japanese
<?php
// TODO: Add more tests
//$debug = true; // Uncomment this line to view error/warning/notice message in *.out file
-ini_set('include_path','.');
+ini_set('include_path', dirname(__FILE__));
include_once('common.inc');
// SJIS string (BASE64 encoded)
diff --git a/ext/mbstring/tests/mb_detect_encoding.phpt b/ext/mbstring/tests/mb_detect_encoding.phpt
index 79b1a1bd4..4fd22a69c 100644
--- a/ext/mbstring/tests/mb_detect_encoding.phpt
+++ b/ext/mbstring/tests/mb_detect_encoding.phpt
@@ -8,7 +8,7 @@ mbstring.language=Japanese
<?php
// TODO: Add more tests
//$debug = true; // Uncomment this line to view error/warning/notice message in *.out file
-ini_set('include_path','.');
+ini_set('include_path', dirname(__FILE__));
include_once('common.inc');
// SJIS string (BASE64 encoded)
diff --git a/ext/mbstring/tests/mb_detect_order.phpt b/ext/mbstring/tests/mb_detect_order.phpt
index bb0ec5653..382691cfc 100644
--- a/ext/mbstring/tests/mb_detect_order.phpt
+++ b/ext/mbstring/tests/mb_detect_order.phpt
@@ -7,7 +7,7 @@ mbstring.language=Japanese
--FILE--
<?php
//$debug = true;
-ini_set('include_path','.');
+ini_set('include_path', dirname(__FILE__));
include_once('common.inc');
diff --git a/ext/mbstring/tests/mb_encode_mimeheader_variation2.phpt b/ext/mbstring/tests/mb_encode_mimeheader_variation2.phpt
index 855c3b33b..e765e9438 100644
--- a/ext/mbstring/tests/mb_encode_mimeheader_variation2.phpt
+++ b/ext/mbstring/tests/mb_encode_mimeheader_variation2.phpt
@@ -221,4 +221,4 @@ bool(false)
Warning: mb_encode_mimeheader() expects parameter 2 to be string, resource given in %s on line %d
NULL
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_encode_mimeheader_variation3.phpt b/ext/mbstring/tests/mb_encode_mimeheader_variation3.phpt
index 8c6bf08e7..c2976f5d0 100644
--- a/ext/mbstring/tests/mb_encode_mimeheader_variation3.phpt
+++ b/ext/mbstring/tests/mb_encode_mimeheader_variation3.phpt
@@ -183,4 +183,4 @@ string(52) "=?UTF-8?B?5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CC?="
Warning: mb_encode_mimeheader() expects parameter 3 to be string, resource given in %s on line %d
NULL
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_encode_mimeheader_variation4.phpt b/ext/mbstring/tests/mb_encode_mimeheader_variation4.phpt
index 64e236d70..fe050840e 100644
--- a/ext/mbstring/tests/mb_encode_mimeheader_variation4.phpt
+++ b/ext/mbstring/tests/mb_encode_mimeheader_variation4.phpt
@@ -184,4 +184,4 @@ string(113) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr
Warning: mb_encode_mimeheader() expects parameter 4 to be string, resource given in %s on line %d
NULL
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_encode_mimeheader_variation5.phpt b/ext/mbstring/tests/mb_encode_mimeheader_variation5.phpt
index 593b3c15a..d57bc1061 100644
--- a/ext/mbstring/tests/mb_encode_mimeheader_variation5.phpt
+++ b/ext/mbstring/tests/mb_encode_mimeheader_variation5.phpt
@@ -212,4 +212,4 @@ string(115) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr
Warning: mb_encode_mimeheader() expects parameter 5 to be long, resource given in %s on line %d
NULL
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_encode_mimeheader_variation6.phpt b/ext/mbstring/tests/mb_encode_mimeheader_variation6.phpt
index 20ba5c17d..668ae8bfe 100644
--- a/ext/mbstring/tests/mb_encode_mimeheader_variation6.phpt
+++ b/ext/mbstring/tests/mb_encode_mimeheader_variation6.phpt
@@ -50,4 +50,4 @@ string(114) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr
-- Iteration 3 --
string(116) "=?UTF-8?B?zpHPhc+Ez4wgzrXOr869zrHOuSDOtc67zrvOt869zrnOus+MIM66zrXOr868?=--- =?UTF-8?B?zrXOvc6/LiAwMTIzNDU2Nzg5Lg==?="
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_encoding_aliases.phpt b/ext/mbstring/tests/mb_encoding_aliases.phpt
new file mode 100644
index 000000000..7b87045d0
--- /dev/null
+++ b/ext/mbstring/tests/mb_encoding_aliases.phpt
@@ -0,0 +1,41 @@
+--TEST--
+mb_encoding_aliases()
+--FILE--
+<?php
+mb_encoding_aliases();
+$list = mb_encoding_aliases("ASCII");
+sort($list);
+var_dump($list);
+var_dump(mb_encoding_aliases("7bit"));
+var_dump(mb_encoding_aliases("8bit"));
+?>
+--EXPECTF--
+Warning: mb_encoding_aliases() expects exactly 1 parameter, 0 given in %s on line 2
+array(10) {
+ [0]=>
+ string(14) "ANSI_X3.4-1968"
+ [1]=>
+ string(14) "ANSI_X3.4-1986"
+ [2]=>
+ string(6) "IBM367"
+ [3]=>
+ string(9) "ISO646-US"
+ [4]=>
+ string(16) "ISO_646.irv:1991"
+ [5]=>
+ string(8) "US-ASCII"
+ [6]=>
+ string(5) "cp367"
+ [7]=>
+ string(7) "csASCII"
+ [8]=>
+ string(8) "iso-ir-6"
+ [9]=>
+ string(2) "us"
+}
+array(0) {
+}
+array(1) {
+ [0]=>
+ string(6) "binary"
+}
diff --git a/ext/mbstring/tests/mb_ereg1.phpt b/ext/mbstring/tests/mb_ereg1.phpt
index 663d1b778..57884c0e0 100644
--- a/ext/mbstring/tests/mb_ereg1.phpt
+++ b/ext/mbstring/tests/mb_ereg1.phpt
@@ -17,9 +17,8 @@ foreach ($a as $args) {
var_dump(mb_ereg($args[0], $args[1], $args[2]));
var_dump($args);
}
-
-echo "Done\n";
?>
+===DONE===
--EXPECTF--
bool(false)
array(3) {
@@ -75,4 +74,4 @@ array(3) {
array(0) {
}
}
-Done
+===DONE===
diff --git a/ext/mbstring/tests/mb_ereg2.phpt b/ext/mbstring/tests/mb_ereg2.phpt
index 922a8e78d..2b79bafd1 100644
--- a/ext/mbstring/tests/mb_ereg2.phpt
+++ b/ext/mbstring/tests/mb_ereg2.phpt
@@ -31,7 +31,7 @@ array(1) {
string(2) "-1"
}
-Notice: Array to string conversion in %s on line %d
+Warning: mbereg_search_init() expects parameter 3 to be string, array given in %s on line %d
int(-1)
int(-1)
array(1) {
diff --git a/ext/mbstring/tests/mb_ereg_replace_error.phpt b/ext/mbstring/tests/mb_ereg_replace_error.phpt
index bc98be8ba..9413936b2 100644
--- a/ext/mbstring/tests/mb_ereg_replace_error.phpt
+++ b/ext/mbstring/tests/mb_ereg_replace_error.phpt
@@ -15,7 +15,6 @@ function_exists('mb_ereg_replace') or die("skip mb_ereg_replace() is not availab
echo "*** Testing mb_ereg_replace() : error conditions ***\n";
-
//Test mb_ereg_replace with one more than the expected number of arguments
echo "\n-- Testing mb_ereg_replace() function with more than expected no. of arguments --\n";
$pattern = b'[a-k]';
diff --git a/ext/mbstring/tests/mb_ereg_variation1.phpt b/ext/mbstring/tests/mb_ereg_variation1.phpt
index a8aa5d8ba..1f4419ddf 100644
--- a/ext/mbstring/tests/mb_ereg_variation1.phpt
+++ b/ext/mbstring/tests/mb_ereg_variation1.phpt
@@ -162,4 +162,4 @@ NULL
-- Iteration 16 --
bool(false)
NULL
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_get_info.phpt b/ext/mbstring/tests/mb_get_info.phpt
new file mode 100644
index 000000000..a3739e162
--- /dev/null
+++ b/ext/mbstring/tests/mb_get_info.phpt
@@ -0,0 +1,190 @@
+--TEST--
+Test mb_get_info() function
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip'); ?>
+--INI--
+mbstring.encoding_translation=1
+mbstring.language=Korean
+mbstring.internal_encoding=UTF-8
+mbstring.http_input=ISO-8859-1
+mbstring.http_output=ISO-8859-15
+mbstring.http_output_conv_mimetypes=abc
+mbstring.func_overload=2
+mbstring.detect_order=UTF-8,ISO-8859-15,ISO-8859-1,ASCII
+mbstring.substitute_character=123
+mbstring.strict_detection=1
+--FILE--
+<?php
+mb_parse_str("abc=def", $dummy);
+mb_convert_encoding("\xff\xff", "Shift_JIS", "UCS-2BE");
+$result = mb_get_info();
+var_dump($result);
+foreach (array_keys($result) as $key) {
+ var_dump($result[$key], mb_get_info($key));
+}
+?>
+--EXPECT--
+array(15) {
+ ["internal_encoding"]=>
+ string(5) "UTF-8"
+ ["http_input"]=>
+ string(10) "ISO-8859-1"
+ ["http_output"]=>
+ string(11) "ISO-8859-15"
+ ["http_output_conv_mimetypes"]=>
+ string(3) "abc"
+ ["func_overload"]=>
+ int(2)
+ ["func_overload_list"]=>
+ array(12) {
+ ["strlen"]=>
+ string(9) "mb_strlen"
+ ["strpos"]=>
+ string(9) "mb_strpos"
+ ["strrpos"]=>
+ string(10) "mb_strrpos"
+ ["stripos"]=>
+ string(10) "mb_stripos"
+ ["strripos"]=>
+ string(11) "mb_strripos"
+ ["strstr"]=>
+ string(9) "mb_strstr"
+ ["strrchr"]=>
+ string(10) "mb_strrchr"
+ ["stristr"]=>
+ string(10) "mb_stristr"
+ ["substr"]=>
+ string(9) "mb_substr"
+ ["strtolower"]=>
+ string(13) "mb_strtolower"
+ ["strtoupper"]=>
+ string(13) "mb_strtoupper"
+ ["substr_count"]=>
+ string(15) "mb_substr_count"
+ }
+ ["mail_charset"]=>
+ string(11) "ISO-2022-KR"
+ ["mail_header_encoding"]=>
+ string(6) "BASE64"
+ ["mail_body_encoding"]=>
+ string(4) "7bit"
+ ["illegal_chars"]=>
+ int(1)
+ ["encoding_translation"]=>
+ string(2) "On"
+ ["language"]=>
+ string(6) "Korean"
+ ["detect_order"]=>
+ array(4) {
+ [0]=>
+ string(5) "UTF-8"
+ [1]=>
+ string(11) "ISO-8859-15"
+ [2]=>
+ string(10) "ISO-8859-1"
+ [3]=>
+ string(5) "ASCII"
+ }
+ ["substitute_character"]=>
+ int(123)
+ ["strict_detection"]=>
+ string(2) "On"
+}
+string(5) "UTF-8"
+string(5) "UTF-8"
+string(10) "ISO-8859-1"
+string(10) "ISO-8859-1"
+string(11) "ISO-8859-15"
+string(11) "ISO-8859-15"
+string(3) "abc"
+string(3) "abc"
+int(2)
+int(2)
+array(12) {
+ ["strlen"]=>
+ string(9) "mb_strlen"
+ ["strpos"]=>
+ string(9) "mb_strpos"
+ ["strrpos"]=>
+ string(10) "mb_strrpos"
+ ["stripos"]=>
+ string(10) "mb_stripos"
+ ["strripos"]=>
+ string(11) "mb_strripos"
+ ["strstr"]=>
+ string(9) "mb_strstr"
+ ["strrchr"]=>
+ string(10) "mb_strrchr"
+ ["stristr"]=>
+ string(10) "mb_stristr"
+ ["substr"]=>
+ string(9) "mb_substr"
+ ["strtolower"]=>
+ string(13) "mb_strtolower"
+ ["strtoupper"]=>
+ string(13) "mb_strtoupper"
+ ["substr_count"]=>
+ string(15) "mb_substr_count"
+}
+array(12) {
+ ["strlen"]=>
+ string(9) "mb_strlen"
+ ["strpos"]=>
+ string(9) "mb_strpos"
+ ["strrpos"]=>
+ string(10) "mb_strrpos"
+ ["stripos"]=>
+ string(10) "mb_stripos"
+ ["strripos"]=>
+ string(11) "mb_strripos"
+ ["strstr"]=>
+ string(9) "mb_strstr"
+ ["strrchr"]=>
+ string(10) "mb_strrchr"
+ ["stristr"]=>
+ string(10) "mb_stristr"
+ ["substr"]=>
+ string(9) "mb_substr"
+ ["strtolower"]=>
+ string(13) "mb_strtolower"
+ ["strtoupper"]=>
+ string(13) "mb_strtoupper"
+ ["substr_count"]=>
+ string(15) "mb_substr_count"
+}
+string(11) "ISO-2022-KR"
+string(11) "ISO-2022-KR"
+string(6) "BASE64"
+string(6) "BASE64"
+string(4) "7bit"
+string(4) "7bit"
+int(1)
+int(1)
+string(2) "On"
+string(2) "On"
+string(6) "Korean"
+string(6) "Korean"
+array(4) {
+ [0]=>
+ string(5) "UTF-8"
+ [1]=>
+ string(11) "ISO-8859-15"
+ [2]=>
+ string(10) "ISO-8859-1"
+ [3]=>
+ string(5) "ASCII"
+}
+array(4) {
+ [0]=>
+ string(5) "UTF-8"
+ [1]=>
+ string(11) "ISO-8859-15"
+ [2]=>
+ string(10) "ISO-8859-1"
+ [3]=>
+ string(5) "ASCII"
+}
+int(123)
+int(123)
+string(2) "On"
+string(2) "On"
diff --git a/ext/mbstring/tests/mb_http_input.phpt b/ext/mbstring/tests/mb_http_input.phpt
index fd67a5768..6e72c5d59 100644
--- a/ext/mbstring/tests/mb_http_input.phpt
+++ b/ext/mbstring/tests/mb_http_input.phpt
@@ -14,7 +14,7 @@ b=ܸ0123456789ܸ쥫ʤҤ餬
<?php
// TODO: This is not a real test.... Need to change so that it does real testing
//$debug = true;
-ini_set('include_path','.');
+ini_set('include_path', dirname(__FILE__));
include_once('common.inc');
$ini = ini_get('mbstring.http_input');
diff --git a/ext/mbstring/tests/mb_http_output.phpt b/ext/mbstring/tests/mb_http_output.phpt
index 0a6839f7f..7fb3335fe 100644
--- a/ext/mbstring/tests/mb_http_output.phpt
+++ b/ext/mbstring/tests/mb_http_output.phpt
@@ -6,7 +6,7 @@ mb_http_output()
<?php
//TODO: Add more encoding. Wrong paramter type test.
//$debug = true;
-ini_set('include_path','.');
+ini_set('include_path', dirname(__FILE__));
include_once('common.inc');
// Set HTTP output encoding to ASCII
diff --git a/ext/mbstring/tests/mb_internal_encoding.phpt b/ext/mbstring/tests/mb_internal_encoding.phpt
index 1d6296252..e1b99c3ba 100644
--- a/ext/mbstring/tests/mb_internal_encoding.phpt
+++ b/ext/mbstring/tests/mb_internal_encoding.phpt
@@ -6,7 +6,7 @@ mb_internal_encoding()
<?php
// TODO:
//$debug = true;
-ini_set('include_path','.');
+ini_set('include_path', dirname(__FILE__));
include_once('common.inc');
// EUC-JP
diff --git a/ext/mbstring/tests/mb_internal_encoding_variation1.phpt b/ext/mbstring/tests/mb_internal_encoding_variation1.phpt
index 3aa1784b1..94bb0cfd4 100644
--- a/ext/mbstring/tests/mb_internal_encoding_variation1.phpt
+++ b/ext/mbstring/tests/mb_internal_encoding_variation1.phpt
@@ -214,4 +214,4 @@ bool(false)
Warning: mb_internal_encoding() expects parameter 1 to be string, resource given in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_internal_encoding_variation2.phpt b/ext/mbstring/tests/mb_internal_encoding_variation2.phpt
index 3abf2517a..3d2c54731 100644
--- a/ext/mbstring/tests/mb_internal_encoding_variation2.phpt
+++ b/ext/mbstring/tests/mb_internal_encoding_variation2.phpt
@@ -371,4 +371,4 @@ string(5) "CP866"
string(5) "CP866"
bool(true)
string(6) "KOI8-R"
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_list_encodings.phpt b/ext/mbstring/tests/mb_list_encodings.phpt
new file mode 100644
index 000000000..e155cb851
--- /dev/null
+++ b/ext/mbstring/tests/mb_list_encodings.phpt
@@ -0,0 +1,14 @@
+--TEST--
+mb_list_encodings
+--FILE--
+<?php
+var_dump(in_array("7bit", mb_list_encodings()));
+var_dump(in_array("8bit", mb_list_encodings()));
+var_dump(in_array("ASCII", mb_list_encodings()));
+var_dump(in_array("non-existent", mb_list_encodings()));
+?>
+--EXPECT--
+bool(true)
+bool(true)
+bool(true)
+bool(false)
diff --git a/ext/mbstring/tests/mb_output_handler_pattern-01.phpt b/ext/mbstring/tests/mb_output_handler_pattern-01.phpt
new file mode 100644
index 000000000..62825b6ef
--- /dev/null
+++ b/ext/mbstring/tests/mb_output_handler_pattern-01.phpt
@@ -0,0 +1,18 @@
+--TEST--
+mb_output_handler() and mbstring.http_output_conv_mimetypes (1)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--INI--
+mbstring.internal_encoding=UTF-8
+--FILE--
+<?php
+mb_http_output("EUC-JP");
+header("Content-Type: text/html");
+ob_start();
+ob_start('mb_output_handler');
+echo "テスト";
+ob_end_flush();
+var_dump(bin2hex(ob_get_clean()));
+?>
+--EXPECT--
+string(12) "a5c6a5b9a5c8"
diff --git a/ext/mbstring/tests/mb_output_handler_pattern-02.phpt b/ext/mbstring/tests/mb_output_handler_pattern-02.phpt
new file mode 100644
index 000000000..e20b11503
--- /dev/null
+++ b/ext/mbstring/tests/mb_output_handler_pattern-02.phpt
@@ -0,0 +1,18 @@
+--TEST--
+mb_output_handler() and mbstring.http_output_conv_mimetypes (2)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--INI--
+mbstring.internal_encoding=UTF-8
+--FILE--
+<?php
+mb_http_output("EUC-JP");
+header("Content-Type: text/plain");
+ob_start();
+ob_start('mb_output_handler');
+echo "テスト";
+ob_end_flush();
+var_dump(bin2hex(ob_get_clean()));
+?>
+--EXPECT--
+string(12) "a5c6a5b9a5c8"
diff --git a/ext/mbstring/tests/mb_output_handler_pattern-03.phpt b/ext/mbstring/tests/mb_output_handler_pattern-03.phpt
new file mode 100644
index 000000000..c4e9886ba
--- /dev/null
+++ b/ext/mbstring/tests/mb_output_handler_pattern-03.phpt
@@ -0,0 +1,18 @@
+--TEST--
+mb_output_handler() and mbstring.http_output_conv_mimetypes (3)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--INI--
+mbstring.internal_encoding=UTF-8
+--FILE--
+<?php
+mb_http_output("EUC-JP");
+header("Content-Type: application/xhtml+xml");
+ob_start();
+ob_start('mb_output_handler');
+echo "テスト";
+ob_end_flush();
+var_dump(bin2hex(ob_get_clean()));
+?>
+--EXPECT--
+string(12) "a5c6a5b9a5c8"
diff --git a/ext/mbstring/tests/mb_output_handler_pattern-04.phpt b/ext/mbstring/tests/mb_output_handler_pattern-04.phpt
new file mode 100644
index 000000000..bf8bd768a
--- /dev/null
+++ b/ext/mbstring/tests/mb_output_handler_pattern-04.phpt
@@ -0,0 +1,18 @@
+--TEST--
+mb_output_handler() and mbstring.http_output_conv_mimetypes (4)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--INI--
+mbstring.internal_encoding=UTF-8
+--FILE--
+<?php
+mb_http_output("EUC-JP");
+header("Content-Type: application/octet-stream");
+ob_start();
+ob_start('mb_output_handler');
+echo "テスト";
+ob_end_flush();
+var_dump(bin2hex(ob_get_clean()));
+?>
+--EXPECT--
+string(18) "e38386e382b9e38388"
diff --git a/ext/mbstring/tests/mb_output_handler_pattern-05.phpt b/ext/mbstring/tests/mb_output_handler_pattern-05.phpt
new file mode 100644
index 000000000..c63724eb3
--- /dev/null
+++ b/ext/mbstring/tests/mb_output_handler_pattern-05.phpt
@@ -0,0 +1,17 @@
+--TEST--
+mb_output_handler() and mbstring.http_output_conv_mimetypes (5)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--INI--
+mbstring.internal_encoding=UTF-8
+--FILE--
+<?php
+mb_http_output("EUC-JP");
+ob_start();
+ob_start('mb_output_handler');
+echo "テスト";
+ob_end_flush();
+var_dump(bin2hex(ob_get_clean()));
+?>
+--EXPECT--
+string(12) "a5c6a5b9a5c8"
diff --git a/ext/mbstring/tests/mb_output_handler_pattern-06.phpt b/ext/mbstring/tests/mb_output_handler_pattern-06.phpt
new file mode 100644
index 000000000..00cf4af7d
--- /dev/null
+++ b/ext/mbstring/tests/mb_output_handler_pattern-06.phpt
@@ -0,0 +1,18 @@
+--TEST--
+mb_output_handler() and mbstring.http_output_conv_mimetypes (6)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--INI--
+mbstring.internal_encoding=UTF-8
+--FILE--
+<?php
+mb_http_output("EUC-JP");
+header("Content-Type: text/html");
+ob_start();
+ob_start('mb_output_handler');
+echo "テスト";
+ob_end_flush();
+var_dump(bin2hex(ob_get_clean()));
+?>
+--EXPECT--
+string(12) "a5c6a5b9a5c8"
diff --git a/ext/mbstring/tests/mb_output_handler_pattern-07.phpt b/ext/mbstring/tests/mb_output_handler_pattern-07.phpt
new file mode 100644
index 000000000..3cc9305a9
--- /dev/null
+++ b/ext/mbstring/tests/mb_output_handler_pattern-07.phpt
@@ -0,0 +1,19 @@
+--TEST--
+mb_output_handler() and mbstring.http_output_conv_mimetypes (7)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--INI--
+mbstring.internal_encoding=UTF-8
+mbstring.http_output_conv_mimetypes=html
+--FILE--
+<?php
+mb_http_output("EUC-JP");
+header("Content-Type: text/html");
+ob_start();
+ob_start('mb_output_handler');
+echo "テスト";
+ob_end_flush();
+var_dump(bin2hex(ob_get_clean()));
+?>
+--EXPECT--
+string(12) "a5c6a5b9a5c8"
diff --git a/ext/mbstring/tests/mb_output_handler_pattern-08.phpt b/ext/mbstring/tests/mb_output_handler_pattern-08.phpt
new file mode 100644
index 000000000..5117decdc
--- /dev/null
+++ b/ext/mbstring/tests/mb_output_handler_pattern-08.phpt
@@ -0,0 +1,19 @@
+--TEST--
+mb_output_handler() and mbstring.http_output_conv_mimetypes (8)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--INI--
+mbstring.internal_encoding=UTF-8
+mbstring.http_output_conv_mimetypes=html
+--FILE--
+<?php
+mb_http_output("EUC-JP");
+header("Content-Type: text/plain");
+ob_start();
+ob_start('mb_output_handler');
+echo "テスト";
+ob_end_flush();
+var_dump(bin2hex(ob_get_clean()));
+?>
+--EXPECT--
+string(18) "e38386e382b9e38388"
diff --git a/ext/mbstring/tests/mb_output_handler_pattern-09.phpt b/ext/mbstring/tests/mb_output_handler_pattern-09.phpt
new file mode 100644
index 000000000..e119da0d4
--- /dev/null
+++ b/ext/mbstring/tests/mb_output_handler_pattern-09.phpt
@@ -0,0 +1,19 @@
+--TEST--
+mb_output_handler() and mbstring.http_output_conv_mimetypes (9)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--INI--
+mbstring.internal_encoding=UTF-8
+mbstring.http_output_conv_mimetypes=html
+--FILE--
+<?php
+mb_http_output("EUC-JP");
+header("Content-Type: application/xhtml+xml");
+ob_start();
+ob_start('mb_output_handler');
+echo "テスト";
+ob_end_flush();
+var_dump(bin2hex(ob_get_clean()));
+?>
+--EXPECT--
+string(12) "a5c6a5b9a5c8"
diff --git a/ext/mbstring/tests/mb_output_handler_pattern-10.phpt b/ext/mbstring/tests/mb_output_handler_pattern-10.phpt
new file mode 100644
index 000000000..7aec886b7
--- /dev/null
+++ b/ext/mbstring/tests/mb_output_handler_pattern-10.phpt
@@ -0,0 +1,19 @@
+--TEST--
+mb_output_handler() and mbstring.http_output_conv_mimetypes (10)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--INI--
+mbstring.internal_encoding=UTF-8
+mbstring.http_output_conv_mimetypes=html
+--FILE--
+<?php
+mb_http_output("EUC-JP");
+header("Content-Type: application/octet-stream");
+ob_start();
+ob_start('mb_output_handler');
+echo "テスト";
+ob_end_flush();
+var_dump(bin2hex(ob_get_clean()));
+?>
+--EXPECT--
+string(18) "e38386e382b9e38388"
diff --git a/ext/mbstring/tests/mb_output_handler_pattern-11.phpt b/ext/mbstring/tests/mb_output_handler_pattern-11.phpt
new file mode 100644
index 000000000..2b1647999
--- /dev/null
+++ b/ext/mbstring/tests/mb_output_handler_pattern-11.phpt
@@ -0,0 +1,17 @@
+--TEST--
+mb_output_handler() and mbstring.http_output_conv_mimetypes (11)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--INI--
+mbstring.internal_encoding=UTF-8
+--FILE--
+<?php
+mb_http_output("EUC-JP");
+ob_start();
+ob_start('mb_output_handler');
+echo "テスト";
+ob_end_flush();
+var_dump(bin2hex(ob_get_clean()));
+?>
+--EXPECT--
+string(12) "a5c6a5b9a5c8"
diff --git a/ext/mbstring/tests/mb_output_handler_pattern-12.phpt b/ext/mbstring/tests/mb_output_handler_pattern-12.phpt
new file mode 100644
index 000000000..d27510b57
--- /dev/null
+++ b/ext/mbstring/tests/mb_output_handler_pattern-12.phpt
@@ -0,0 +1,18 @@
+--TEST--
+mb_output_handler() and mbstring.http_output_conv_mimetypes (12)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--INI--
+mbstring.internal_encoding=UTF-8
+--FILE--
+<?php
+mb_http_output("EUC-JP");
+header("Content-Type: text/html");
+ob_start();
+ob_start('mb_output_handler');
+echo "テスト";
+ob_end_flush();
+var_dump(bin2hex(ob_get_clean()));
+?>
+--EXPECT--
+string(12) "a5c6a5b9a5c8"
diff --git a/ext/mbstring/tests/mb_output_handler_runtime_ini_alteration-01.phpt b/ext/mbstring/tests/mb_output_handler_runtime_ini_alteration-01.phpt
new file mode 100644
index 000000000..b7d71f9d2
--- /dev/null
+++ b/ext/mbstring/tests/mb_output_handler_runtime_ini_alteration-01.phpt
@@ -0,0 +1,20 @@
+--TEST--
+mb_output_handler() and mbstring.http_output_conv_mimetypes alteration in runtime (1)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--INI--
+mbstring.internal_encoding=UTF-8
+mbstring.http_output_conv_mimetypes=plain
+--FILE--
+<?php
+mb_http_output("EUC-JP");
+ini_set('mbstring.http_output_conv_mimetypes', 'text');
+header("Content-Type: text/html");
+ob_start();
+ob_start('mb_output_handler');
+echo "テスト";
+ob_end_flush();
+var_dump(bin2hex(ob_get_clean()));
+?>
+--EXPECT--
+string(12) "a5c6a5b9a5c8"
diff --git a/ext/mbstring/tests/mb_output_handler_runtime_ini_alteration-02.phpt b/ext/mbstring/tests/mb_output_handler_runtime_ini_alteration-02.phpt
new file mode 100644
index 000000000..d8c21f406
--- /dev/null
+++ b/ext/mbstring/tests/mb_output_handler_runtime_ini_alteration-02.phpt
@@ -0,0 +1,20 @@
+--TEST--
+mb_output_handler() and mbstring.http_output_conv_mimetypes alteration in runtime (2)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--INI--
+mbstring.internal_encoding=UTF-8
+mbstring.http_output_conv_mimetypes=html
+--FILE--
+<?php
+mb_http_output("EUC-JP");
+ini_set('mbstring.http_output_conv_mimetypes', 'application');
+header("Content-Type: text/html");
+ob_start();
+ob_start('mb_output_handler');
+echo "テスト";
+ob_end_flush();
+var_dump(bin2hex(ob_get_clean()));
+?>
+--EXPECT--
+string(18) "e38386e382b9e38388"
diff --git a/ext/mbstring/tests/mb_preferred_mime_name.phpt b/ext/mbstring/tests/mb_preferred_mime_name.phpt
index 82f88b15c..9a71ce275 100644
--- a/ext/mbstring/tests/mb_preferred_mime_name.phpt
+++ b/ext/mbstring/tests/mb_preferred_mime_name.phpt
@@ -7,7 +7,7 @@ mb_preferred_mime_name()
// TODO: Add more encoding names
//$debug=true;
-ini_set('include_path','.');
+ini_set('include_path', dirname(__FILE__));
include_once('common.inc');
diff --git a/ext/mbstring/tests/mb_regex_encoding_error1.phpt b/ext/mbstring/tests/mb_regex_encoding_error1.phpt
index 6fe19aa9d..4c5456d36 100644
--- a/ext/mbstring/tests/mb_regex_encoding_error1.phpt
+++ b/ext/mbstring/tests/mb_regex_encoding_error1.phpt
@@ -31,6 +31,6 @@ echo "Done";
-- Testing mb_regex_encoding() function with more than expected no. of arguments --
-Warning: Wrong parameter count for mb_regex_encoding() in %s on line %d
+Warning: mb_regex_encoding() expects at most 1 parameter, 2 given in %s on line %d
NULL
Done
diff --git a/ext/mbstring/tests/mb_regex_encoding_variation1.phpt b/ext/mbstring/tests/mb_regex_encoding_variation1.phpt
index 0d2ff99ac..09b263d75 100644
--- a/ext/mbstring/tests/mb_regex_encoding_variation1.phpt
+++ b/ext/mbstring/tests/mb_regex_encoding_variation1.phpt
@@ -210,6 +210,6 @@ bool(false)
-- Iteration 24 --
-Warning: mb_regex_encoding(): Unknown encoding "Resource id #%d" in %s on line %d
-bool(false)
-Done \ No newline at end of file
+Warning: mb_regex_encoding() expects parameter 1 to be string, resource given in %s on line %d
+NULL
+Done
diff --git a/ext/mbstring/tests/mb_split.phpt b/ext/mbstring/tests/mb_split.phpt
index 6c0283fe8..c10b0d7b8 100644
--- a/ext/mbstring/tests/mb_split.phpt
+++ b/ext/mbstring/tests/mb_split.phpt
@@ -35,14 +35,33 @@ mbstring.func_overload=0
}
?>
---EXPECT--
+--EXPECTF--
bool(true)
+
+Deprecated: Function split() is deprecated in %s on line %d
ok
+
+Deprecated: Function split() is deprecated in %s on line %d
ok
+
+Deprecated: Function split() is deprecated in %s on line %d
ok
+
+Deprecated: Function split() is deprecated in %s on line %d
ok
+
+Deprecated: Function split() is deprecated in %s on line %d
ok
+
+Deprecated: Function split() is deprecated in %s on line %d
ok
+
+Deprecated: Function split() is deprecated in %s on line %d
2-2
+
+Deprecated: Function split() is deprecated in %s on line %d
3-3
+
+Deprecated: Function split() is deprecated in %s on line %d
4-4
+
diff --git a/ext/mbstring/tests/mb_strcut.phpt b/ext/mbstring/tests/mb_strcut.phpt
index 6a90d87d2..7c78ffe02 100644
--- a/ext/mbstring/tests/mb_strcut.phpt
+++ b/ext/mbstring/tests/mb_strcut.phpt
@@ -7,7 +7,7 @@ output_handler=
--FILE--
<?php
// TODO: Add more encodings
-ini_set('include_path','.');
+ini_set('include_path', dirname(__FILE__));
include_once('common.inc');
// EUC-JP
diff --git a/ext/mbstring/tests/mb_strimwidth.phpt b/ext/mbstring/tests/mb_strimwidth.phpt
index efa98856f..82780d675 100644
--- a/ext/mbstring/tests/mb_strimwidth.phpt
+++ b/ext/mbstring/tests/mb_strimwidth.phpt
@@ -8,7 +8,7 @@ output_handler=
<?php
// TODO: Add more encoding
//$debug = true;
-ini_set('include_path','.');
+ini_set('include_path', dirname(__FILE__));
include_once('common.inc');
// EUC-JP
diff --git a/ext/mbstring/tests/mb_stripos_variation2.phpt b/ext/mbstring/tests/mb_stripos_variation2.phpt
index 47a891fb7..1b5263aa8 100644
--- a/ext/mbstring/tests/mb_stripos_variation2.phpt
+++ b/ext/mbstring/tests/mb_stripos_variation2.phpt
@@ -135,27 +135,39 @@ bool(false)
bool(false)
-- Iteration 10 --
+
+Warning: mb_stripos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 11 --
+
+Warning: mb_stripos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 12 --
bool(false)
-- Iteration 13 --
+
+Warning: mb_stripos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 14 --
bool(false)
-- Iteration 15 --
+
+Warning: mb_stripos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 16 --
+
+Warning: mb_stripos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 17 --
+
+Warning: mb_stripos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 18 --
@@ -171,13 +183,18 @@ bool(false)
bool(false)
-- Iteration 22 --
+
+Warning: mb_stripos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 23 --
+
+Warning: mb_stripos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 24 --
Warning: mb_stripos() expects parameter 2 to be string, resource given in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
+
diff --git a/ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt b/ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt
index 134a4c3ec..fbe4937ac 100644
--- a/ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt
+++ b/ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt
@@ -1,6 +1,5 @@
--TEST--
Test mb_stripos() function : usage variations - Pass different integers as $offset argument
---XFAIL--
--SKIPIF--
<?php
extension_loaded('mbstring') or die('skip');
@@ -117,3 +116,4 @@ bool(false)
Warning: mb_stripos(): Offset not contained in string in %s on line %d
bool(false)
Done
+
diff --git a/ext/mbstring/tests/mb_stristr_variation1.phpt b/ext/mbstring/tests/mb_stristr_variation1.phpt
index ecea23eca..fc69bd065 100644
--- a/ext/mbstring/tests/mb_stristr_variation1.phpt
+++ b/ext/mbstring/tests/mb_stristr_variation1.phpt
@@ -205,3 +205,4 @@ bool(false)
Error: 2 - mb_stristr() expects parameter 1 to be string, resource given, %s(%d)
bool(false)
===DONE===
+
diff --git a/ext/mbstring/tests/mb_stristr_variation2.phpt b/ext/mbstring/tests/mb_stristr_variation2.phpt
index 714c0e570..bfa1835ee 100644
--- a/ext/mbstring/tests/mb_stristr_variation2.phpt
+++ b/ext/mbstring/tests/mb_stristr_variation2.phpt
@@ -213,3 +213,4 @@ bool(false)
Error: 2 - mb_stristr() expects parameter 2 to be string, resource given, %s(%d)
bool(false)
===DONE===
+
diff --git a/ext/mbstring/tests/mb_strlen.phpt b/ext/mbstring/tests/mb_strlen.phpt
index 5fc19f454..97c09a79a 100644
--- a/ext/mbstring/tests/mb_strlen.phpt
+++ b/ext/mbstring/tests/mb_strlen.phpt
@@ -9,7 +9,7 @@ mbstring.func_overload=0
// TODO: Add more encodings
//$debug=true;
-ini_set('include_path','.');
+ini_set('include_path', dirname(__FILE__));
include_once('common.inc');
// restore detect_order to 'auto'
@@ -57,11 +57,11 @@ print strlen($utf8) . "\n";
// Wrong Parameters
echo "== WRONG PARAMETERS ==\n";
// Array
-// Note: PHP Notice, but returns some value
+// Note: PHP Warning, strlen() expects parameter 1 to be string, array given
$r = strlen($t_ary);
echo $r."\n";
// Object
-// Note: PHP Notice, but returns some value
+// Note: PHP Warning, strlen() expects parameter 1 to be string, object given
$r = strlen($t_obj);
echo $r."\n";
// Wrong encoding
@@ -91,11 +91,10 @@ echo $r."\n";
43
101
== WRONG PARAMETERS ==
-ERR: Notice
-5
-ERR: Catchable fatal error
-ERR: Notice
-6
+ERR: Warning
+
+ERR: Warning
+
ERR: Warning
diff --git a/ext/mbstring/tests/mb_strlen_variation2.phpt b/ext/mbstring/tests/mb_strlen_variation2.phpt
index d34f3cfcb..8504bbc5a 100644
--- a/ext/mbstring/tests/mb_strlen_variation2.phpt
+++ b/ext/mbstring/tests/mb_strlen_variation2.phpt
@@ -217,4 +217,4 @@ bool(false)
Warning: mb_strlen() expects parameter 2 to be string, resource given in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strlen_variation3.phpt b/ext/mbstring/tests/mb_strlen_variation3.phpt
index 13dc90993..efa11ad47 100644
--- a/ext/mbstring/tests/mb_strlen_variation3.phpt
+++ b/ext/mbstring/tests/mb_strlen_variation3.phpt
@@ -442,4 +442,4 @@ Encoding CP866 recognised
Encoding KOI8-R recognised
-- Multibyte String --
Encoding KOI8-R recognised
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strpos_variation1.phpt b/ext/mbstring/tests/mb_strpos_variation1.phpt
index 61f534791..d665f8f7e 100644
--- a/ext/mbstring/tests/mb_strpos_variation1.phpt
+++ b/ext/mbstring/tests/mb_strpos_variation1.phpt
@@ -179,4 +179,4 @@ bool(false)
Warning: mb_strpos() expects parameter 1 to be string, resource given in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt b/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt
index eb23d801b..c8fb93336 100644
--- a/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt
+++ b/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt
@@ -1,6 +1,5 @@
--TEST--
Test mb_strripos() function : usage variations - pass different data types as $offset arg
---XFAIL--
--SKIPIF--
<?php
extension_loaded('mbstring') or die('skip');
@@ -204,3 +203,4 @@ int(8)
Warning: mb_strripos() expects parameter 3 to be long, resource given in %s on line %d
bool(false)
Done
+
diff --git a/ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt b/ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt
index 8c40a6fa6..8bd0e2e8b 100644
--- a/ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt
+++ b/ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt
@@ -1,6 +1,5 @@
--TEST--
Test mb_strripos() function : usage variations - Pass different integers as $offset argument
---XFAIL--
--SKIPIF--
<?php
extension_loaded('mbstring') or die('skip');
@@ -113,3 +112,4 @@ bool(false)
Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
Done
+
diff --git a/ext/mbstring/tests/mb_strrpos_error1.phpt b/ext/mbstring/tests/mb_strrpos_error1.phpt
index 727ef569f..15228fec8 100644
--- a/ext/mbstring/tests/mb_strrpos_error1.phpt
+++ b/ext/mbstring/tests/mb_strrpos_error1.phpt
@@ -47,4 +47,4 @@ bool(false)
Warning: mb_strrpos() expects at least 2 parameters, 1 given in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strrpos_error2.phpt b/ext/mbstring/tests/mb_strrpos_error2.phpt
index 8247d370d..fa3719509 100644
--- a/ext/mbstring/tests/mb_strrpos_error2.phpt
+++ b/ext/mbstring/tests/mb_strrpos_error2.phpt
@@ -32,4 +32,4 @@ echo "Done";
Warning: mb_strrpos(): Unknown encoding "unknown-encoding" in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strrpos_variation2.phpt b/ext/mbstring/tests/mb_strrpos_variation2.phpt
index 4986096c7..1566b5cb5 100644
--- a/ext/mbstring/tests/mb_strrpos_variation2.phpt
+++ b/ext/mbstring/tests/mb_strrpos_variation2.phpt
@@ -180,4 +180,4 @@ bool(false)
Warning: mb_strrpos() expects parameter 2 to be string, resource given in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strrpos_variation5.phpt b/ext/mbstring/tests/mb_strrpos_variation5.phpt
index 8fdd40da3..cb5089679 100644
--- a/ext/mbstring/tests/mb_strrpos_variation5.phpt
+++ b/ext/mbstring/tests/mb_strrpos_variation5.phpt
@@ -58,4 +58,4 @@ int(20)
int(20)
-- Without fourth encoding argument --
int(20)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strstr.phpt b/ext/mbstring/tests/mb_strstr.phpt
new file mode 100644
index 000000000..fcf9e85bc
--- /dev/null
+++ b/ext/mbstring/tests/mb_strstr.phpt
@@ -0,0 +1,35 @@
+--TEST--
+mb_strstr()
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--INI--
+mbstring.internal_encoding=UTF-8
+--FILE--
+<?php
+function EUC_JP($utf8str) {
+ return mb_convert_encoding($utf8str, "EUC-JP", "UTF-8");
+}
+
+function FROM_EUC_JP($eucjpstr) {
+ return mb_convert_encoding($eucjpstr, "UTF-8", "EUC-JP");
+}
+
+var_dump(mb_strstr("あいうえおかきくけこ", "おかき"));
+var_dump(mb_strstr("あいうえおかきくけこ", "おかき", false));
+var_dump(mb_strstr("あいうえおかきくけこ", "おかき", true));
+var_dump(FROM_EUC_JP(mb_strstr(EUC_JP("あいうえおかきくけこ"), EUC_JP("おかき"), false, "EUC-JP")));
+var_dump(FROM_EUC_JP(mb_strstr(EUC_JP("あいうえおかきくけこ"), EUC_JP("おかき"), true, "EUC-JP")));
+mb_internal_encoding("EUC-JP");
+var_dump(FROM_EUC_JP(mb_strstr(EUC_JP("あいうえおかきくけこ"), EUC_JP("おかき"))));
+var_dump(FROM_EUC_JP(mb_strstr(EUC_JP("あいうえおかきくけこ"), EUC_JP("おかき"), false)));
+var_dump(FROM_EUC_JP(mb_strstr(EUC_JP("あいうえおかきくけこ"), EUC_JP("おかき"), true)));
+?>
+--EXPECT--
+string(18) "おかきくけこ"
+string(18) "おかきくけこ"
+string(12) "あいうえ"
+string(18) "おかきくけこ"
+string(12) "あいうえ"
+string(18) "おかきくけこ"
+string(18) "おかきくけこ"
+string(12) "あいうえ"
diff --git a/ext/mbstring/tests/mb_strtolower_basic.phpt b/ext/mbstring/tests/mb_strtolower_basic.phpt
index b1d31e2bc..6d9cba72f 100644
--- a/ext/mbstring/tests/mb_strtolower_basic.phpt
+++ b/ext/mbstring/tests/mb_strtolower_basic.phpt
@@ -55,4 +55,4 @@ Correctly converted
-- Multibyte String --
string(64) "zrHOss6zzrTOtc62zrfOuM65zrrOu868zr3Ovs6/z4DPgc+Dz4TPhc+Gz4fPiM+J"
Correctly converted
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strtolower_error1.phpt b/ext/mbstring/tests/mb_strtolower_error1.phpt
index 13cdd3ce7..20200aae8 100644
--- a/ext/mbstring/tests/mb_strtolower_error1.phpt
+++ b/ext/mbstring/tests/mb_strtolower_error1.phpt
@@ -43,4 +43,4 @@ NULL
Warning: mb_strtolower() expects at least 1 parameter, 0 given in %s on line %d
NULL
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strtolower_error2.phpt b/ext/mbstring/tests/mb_strtolower_error2.phpt
index d84026b41..9a0aed0f0 100644
--- a/ext/mbstring/tests/mb_strtolower_error2.phpt
+++ b/ext/mbstring/tests/mb_strtolower_error2.phpt
@@ -22,12 +22,11 @@ $sourcestring = 'hello, world';
$encoding = 'unknown-encoding';
var_dump( mb_strtolower($sourcestring, $encoding) );
-
-echo "Done";
?>
+===DONE===
--EXPECTF--
*** Testing mb_strtolower() : error conditions***
Warning: mb_strtolower(): Unknown encoding "unknown-encoding" in %s on line %d
bool(false)
-Done \ No newline at end of file
+===DONE===
diff --git a/ext/mbstring/tests/mb_strtolower_variation3.phpt b/ext/mbstring/tests/mb_strtolower_variation3.phpt
index 7ff3cee33..08b346785 100644
--- a/ext/mbstring/tests/mb_strtolower_variation3.phpt
+++ b/ext/mbstring/tests/mb_strtolower_variation3.phpt
@@ -54,4 +54,4 @@ Correctly Converted
-- Multibyte Only String--
string(40) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CC"
Correctly Converted
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strtoupper_error1.phpt b/ext/mbstring/tests/mb_strtoupper_error1.phpt
index d61c389c1..c14d2f1b5 100644
--- a/ext/mbstring/tests/mb_strtoupper_error1.phpt
+++ b/ext/mbstring/tests/mb_strtoupper_error1.phpt
@@ -44,4 +44,4 @@ NULL
Warning: mb_strtoupper() expects at least 1 parameter, 0 given in %s on line %d
NULL
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strtoupper_error2.phpt b/ext/mbstring/tests/mb_strtoupper_error2.phpt
index b198fe100..cf4292657 100644
--- a/ext/mbstring/tests/mb_strtoupper_error2.phpt
+++ b/ext/mbstring/tests/mb_strtoupper_error2.phpt
@@ -31,4 +31,4 @@ echo "Done";
Warning: mb_strtoupper(): Unknown encoding "unknown-encoding" in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strtoupper_variation3.phpt b/ext/mbstring/tests/mb_strtoupper_variation3.phpt
index 9b2956976..a4bf3b128 100644
--- a/ext/mbstring/tests/mb_strtoupper_variation3.phpt
+++ b/ext/mbstring/tests/mb_strtoupper_variation3.phpt
@@ -55,4 +55,4 @@ Correctly Converted
-- Multibyte Only String--
string(40) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CC"
Correctly Converted
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strwidth.phpt b/ext/mbstring/tests/mb_strwidth.phpt
index 33ec851c3..da439b4a2 100644
--- a/ext/mbstring/tests/mb_strwidth.phpt
+++ b/ext/mbstring/tests/mb_strwidth.phpt
@@ -6,7 +6,7 @@ mb_strwidth()
<?php
// TODO: Add more encoding, strings.....
//$debug = true;
-ini_set('include_path','.');
+ini_set('include_path', dirname(__FILE__));
include_once('common.inc');
// EUC-JP
diff --git a/ext/mbstring/tests/mb_substitute_character.phpt b/ext/mbstring/tests/mb_substitute_character.phpt
index 9f35f1d26..db1198822 100644
--- a/ext/mbstring/tests/mb_substitute_character.phpt
+++ b/ext/mbstring/tests/mb_substitute_character.phpt
@@ -5,7 +5,7 @@ mb_substitute_character()
--FILE--
<?php
//$debug = true;
-ini_set('include_path','.');
+ini_set('include_path', dirname(__FILE__));
include_once('common.inc');
// Note: It does not return TRUE/FALSE for setting char
diff --git a/ext/mbstring/tests/mb_substitute_character_error.phpt b/ext/mbstring/tests/mb_substitute_character_error.phpt
index 7576accd8..2a816b8b2 100644
--- a/ext/mbstring/tests/mb_substitute_character_error.phpt
+++ b/ext/mbstring/tests/mb_substitute_character_error.phpt
@@ -29,6 +29,7 @@ var_dump( mb_substitute_character($substchar, $extra_arg) );
-- Testing mb_substitute_character() function with more than expected no. of arguments --
-Warning: Wrong parameter count for mb_substitute_character() in %s on line %d
+Warning: mb_substitute_character() expects at most 1 parameter, 2 given in %s on line %d
NULL
===DONE===
+
diff --git a/ext/mbstring/tests/mb_substitute_character_variation1.phpt b/ext/mbstring/tests/mb_substitute_character_variation1.phpt
index 435f95adf..32c0ea74b 100644
--- a/ext/mbstring/tests/mb_substitute_character_variation1.phpt
+++ b/ext/mbstring/tests/mb_substitute_character_variation1.phpt
@@ -194,12 +194,10 @@ Error: 2 - mb_substitute_character(): Unknown character., %s(%d)
bool(false)
--empty string DQ--
-Error: 2 - mb_substitute_character(): Unknown character., %s(%d)
-bool(false)
+bool(true)
--empty string SQ--
-Error: 2 - mb_substitute_character(): Unknown character., %s(%d)
-bool(false)
+bool(true)
--string DQ--
Error: 2 - mb_substitute_character(): Unknown character., %s(%d)
@@ -236,3 +234,4 @@ bool(false)
--resource--
bool(true)
===DONE===
+
diff --git a/ext/mbstring/tests/mb_substr_count_basic.phpt b/ext/mbstring/tests/mb_substr_count_basic.phpt
index 4b8756741..c4d1d7830 100644
--- a/ext/mbstring/tests/mb_substr_count_basic.phpt
+++ b/ext/mbstring/tests/mb_substr_count_basic.phpt
@@ -44,4 +44,4 @@ int(0)
-- Multibyte String --
int(2)
int(0)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_substr_count_error1.phpt b/ext/mbstring/tests/mb_substr_count_error1.phpt
index 8ddcaa6d6..881ca0c22 100644
--- a/ext/mbstring/tests/mb_substr_count_error1.phpt
+++ b/ext/mbstring/tests/mb_substr_count_error1.phpt
@@ -46,4 +46,4 @@ NULL
Warning: mb_substr_count() expects at least 2 parameters, 1 given in %s on line %d
NULL
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_substr_count_error2.phpt b/ext/mbstring/tests/mb_substr_count_error2.phpt
index e2572b028..aefb2c05c 100644
--- a/ext/mbstring/tests/mb_substr_count_error2.phpt
+++ b/ext/mbstring/tests/mb_substr_count_error2.phpt
@@ -34,4 +34,4 @@ echo "Done";
Warning: mb_substr_count(): Unknown encoding "unknown-encoding" in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_substr_error1.phpt b/ext/mbstring/tests/mb_substr_error1.phpt
index c2007c93b..e48b3193b 100644
--- a/ext/mbstring/tests/mb_substr_error1.phpt
+++ b/ext/mbstring/tests/mb_substr_error1.phpt
@@ -39,11 +39,11 @@ echo "Done";
-- Testing mb_substr() function with more than expected no. of arguments --
-Warning: Wrong parameter count for mb_substr() in %s on line %d
+Warning: mb_substr() expects at most 4 parameters, 5 given in %s on line %d
NULL
-- Testing mb_substr() function with less than expected no. of arguments --
-Warning: Wrong parameter count for mb_substr() in %s on line %d
+Warning: mb_substr() expects at least 2 parameters, 1 given in %s on line %d
NULL
Done
diff --git a/ext/mbstring/tests/mb_substr_variation1.phpt b/ext/mbstring/tests/mb_substr_variation1.phpt
index eae73da1d..b02daa345 100644
--- a/ext/mbstring/tests/mb_substr_variation1.phpt
+++ b/ext/mbstring/tests/mb_substr_variation1.phpt
@@ -174,5 +174,8 @@ string(0) ""
string(0) ""
-- Iteration 24 --
-string(5) "Resou"
-Done \ No newline at end of file
+
+Warning: mb_substr() expects parameter 1 to be string, resource given in %s on line %d
+NULL
+Done
+
diff --git a/ext/mbstring/tests/mb_substr_variation2.phpt b/ext/mbstring/tests/mb_substr_variation2.phpt
index bdfd9102b..7c02601f1 100644
--- a/ext/mbstring/tests/mb_substr_variation2.phpt
+++ b/ext/mbstring/tests/mb_substr_variation2.phpt
@@ -221,6 +221,7 @@ bool(false)
-- Iteration 24 --
-Warning: mb_substr(): Unknown encoding "Resource id #%d" in %s on line %d
-bool(false)
-Done \ No newline at end of file
+Warning: mb_substr() expects parameter 4 to be string, resource given in %s on line %d
+string(0) ""
+Done
+
diff --git a/ext/mbstring/tests/mb_substr_variation3.phpt b/ext/mbstring/tests/mb_substr_variation3.phpt
index bb930b4b9..f0ba2bc0a 100644
--- a/ext/mbstring/tests/mb_substr_variation3.phpt
+++ b/ext/mbstring/tests/mb_substr_variation3.phpt
@@ -442,4 +442,4 @@ Encoding CP866 recognised
Encoding KOI8-R recognised
-- Multibyte String --
Encoding KOI8-R recognised
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/php_gr_jp_10830.phpt b/ext/mbstring/tests/php_gr_jp_10830.phpt
index 85eefd756..1cbfc2ae1 100644
--- a/ext/mbstring/tests/php_gr_jp_10830.phpt
+++ b/ext/mbstring/tests/php_gr_jp_10830.phpt
@@ -13,6 +13,8 @@ var_dump( mb_ereg("^[^><]+$",$a) );
var_dump( ereg("^[^><]+$",$a) );
?>
---EXPECT--
+--EXPECTF--
bool(false)
+
+Deprecated: Function ereg() is deprecated in %s on line %d
bool(false)
diff --git a/ext/mbstring/tests/php_gr_jp_dev_884-1.phpt b/ext/mbstring/tests/php_gr_jp_dev_884-1.phpt
index a0ab0c847..64fc054aa 100644
--- a/ext/mbstring/tests/php_gr_jp_dev_884-1.phpt
+++ b/ext/mbstring/tests/php_gr_jp_dev_884-1.phpt
@@ -12,7 +12,8 @@ var_dump(ereg_replace(".*", "b", "a"));
var_dump(preg_replace("/.*/", "b", "a"));
var_dump(mb_ereg_replace(".*", "b", "a"));
?>
---EXPECT--
+--EXPECTF--
+Deprecated: Function ereg_replace() is deprecated in %s on line %d
string(2) "bb"
string(2) "bb"
string(2) "bb"
diff --git a/ext/mbstring/tests/php_gr_jp_dev_884-2.phpt b/ext/mbstring/tests/php_gr_jp_dev_884-2.phpt
index d81f92f41..937b2171b 100644
--- a/ext/mbstring/tests/php_gr_jp_dev_884-2.phpt
+++ b/ext/mbstring/tests/php_gr_jp_dev_884-2.phpt
@@ -12,8 +12,12 @@ var_dump(ereg_replace("C?$", "Z", "ABC"));
var_dump(mb_ereg_replace("C*$", "Z", "ABC"));
var_dump(ereg_replace("C*$", "Z", "ABC"));
?>
---EXPECT--
+--EXPECTF--
string(4) "ABZZ"
+
+Deprecated: Function ereg_replace() is deprecated in %s on line %d
string(4) "ABZZ"
string(4) "ABZZ"
+
+Deprecated: Function ereg_replace() is deprecated in %s on line %d
string(4) "ABZZ"
diff --git a/ext/mbstring/tests/zend-multibyte.phpt b/ext/mbstring/tests/zend_multibyte-01.phpt
index 9268fdd2f..d96e0f07d 100644
--- a/ext/mbstring/tests/zend-multibyte.phpt
+++ b/ext/mbstring/tests/zend_multibyte-01.phpt
@@ -1,5 +1,5 @@
--TEST--
-zend multibyte
+zend multibyte (1)
--SKIPIF--
<?php
ini_set("mbstring.script_encoding","SJIS");
diff --git a/ext/mbstring/tests/zend_multibyte-02.phpt b/ext/mbstring/tests/zend_multibyte-02.phpt
new file mode 100644
index 000000000..c613a722b
--- /dev/null
+++ b/ext/mbstring/tests/zend_multibyte-02.phpt
@@ -0,0 +1,17 @@
+--TEST--
+zend multibyte (2)
+--SKIPIF--
+<?php
+ini_set("mbstring.script_encoding", "SJIS");
+ini_set("mbstring.script_encoding", "***") != "SJIS" and
+ die("skip zend-multibyte is not available");
+?>
+--INI--
+mbstring.script_encoding=UTF-8
+mbstring.internal_encoding=CP932
+--FILE--
+<?php
+var_dump(bin2hex("テスト"));
+?>
+--EXPECT--
+string(12) "836583588367"
diff --git a/ext/mbstring/tests/zend_multibyte-03.phpt b/ext/mbstring/tests/zend_multibyte-03.phpt
new file mode 100644
index 000000000..02baaa8d7
--- /dev/null
+++ b/ext/mbstring/tests/zend_multibyte-03.phpt
@@ -0,0 +1,17 @@
+--TEST--
+zend multibyte (3)
+--SKIPIF--
+<?php
+ini_set("mbstring.script_encoding", "SJIS");
+ini_set("mbstring.script_encoding", "***") != "SJIS" and
+ die("skip zend-multibyte is not available");
+?>
+--INI--
+mbstring.script_encoding=UTF-8
+mbstring.internal_encoding=EUC-JP
+--FILE--
+<?php
+var_dump(bin2hex("テスト"));
+?>
+--EXPECT--
+string(12) "a5c6a5b9a5c8"
diff --git a/ext/mbstring/tests/zend_multibyte-04.phpt b/ext/mbstring/tests/zend_multibyte-04.phpt
new file mode 100644
index 000000000..1ae8dfea9
--- /dev/null
+++ b/ext/mbstring/tests/zend_multibyte-04.phpt
@@ -0,0 +1,17 @@
+--TEST--
+zend multibyte (4)
+--SKIPIF--
+<?php
+ini_set("mbstring.script_encoding", "SJIS");
+ini_set("mbstring.script_encoding", "***") != "SJIS" and
+ die("skip zend-multibyte is not available");
+?>
+--INI--
+mbstring.script_encoding=CP932
+mbstring.internal_encoding=UTF-8
+--FILE--
+<?php
+var_dump(bin2hex("eXg"));
+?>
+--EXPECT--
+string(18) "e38386e382b9e38388"
diff --git a/ext/mbstring/tests/zend_multibyte-05.phpt b/ext/mbstring/tests/zend_multibyte-05.phpt
new file mode 100644
index 000000000..b61bd0590
--- /dev/null
+++ b/ext/mbstring/tests/zend_multibyte-05.phpt
@@ -0,0 +1,20 @@
+--TEST--
+zend multibyte (5)
+--SKIPIF--
+<?php
+ini_set("mbstring.script_encoding", "SJIS");
+ini_set("mbstring.script_encoding", "***") != "SJIS" and
+ die("skip zend-multibyte is not available");
+?>
+--INI--
+mbstring.script_encoding=EUC-JP
+mbstring.internal_encoding=UTF-8
+--FILE--
+<?php
+// forcefully interpret an UTF-8 encoded string as EUC-JP and then convert it
+// back to UTF-8. There should be only a pair of consecutive bytes that is
+// valid EUC-encoded character "鴻".
+var_dump(bin2hex("テスト"));
+?>
+--EXPECT--
+string(16) "3f3f3fe9b4bb3f3f"
diff --git a/ext/mbstring/tests/zend_multibyte-06.phpt b/ext/mbstring/tests/zend_multibyte-06.phpt
new file mode 100644
index 000000000..a6f4bbbf7
--- /dev/null
+++ b/ext/mbstring/tests/zend_multibyte-06.phpt
@@ -0,0 +1,18 @@
+--TEST--
+zend multibyte (6)
+--SKIPIF--
+<?php
+ini_set("mbstring.script_encoding", "SJIS");
+ini_set("mbstring.script_encoding", "***") != "SJIS" and
+ die("skip zend-multibyte is not available");
+?>
+--INI--
+mbstring.script_encoding=EUC-JP
+mbstring.internal_encoding=CP932
+--FILE--
+<?php
+declare(encoding="UTF-8");
+var_dump(bin2hex("テスト"));
+?>
+--EXPECT--
+string(12) "836583588367"
diff --git a/ext/mbstring/tests/zend_multibyte-07.phpt b/ext/mbstring/tests/zend_multibyte-07.phpt
new file mode 100644
index 000000000..9055d23f0
--- /dev/null
+++ b/ext/mbstring/tests/zend_multibyte-07.phpt
@@ -0,0 +1,18 @@
+--TEST--
+zend multibyte (7)
+--SKIPIF--
+<?php
+ini_set("mbstring.script_encoding", "SJIS");
+ini_set("mbstring.script_encoding", "***") != "SJIS" and
+ die("skip zend-multibyte is not available");
+?>
+--INI--
+mbstring.script_encoding=ISO-8859-1
+mbstring.internal_encoding=EUC-JP
+--FILE--
+<?php
+declare(encoding="UTF-8");
+var_dump(bin2hex("テスト"));
+?>
+--EXPECT--
+string(12) "a5c6a5b9a5c8"
diff --git a/ext/mbstring/tests/zend_multibyte-08.phpt b/ext/mbstring/tests/zend_multibyte-08.phpt
new file mode 100644
index 000000000..f865f6b5b
--- /dev/null
+++ b/ext/mbstring/tests/zend_multibyte-08.phpt
@@ -0,0 +1,18 @@
+--TEST--
+zend multibyte (8)
+--SKIPIF--
+<?php
+ini_set("mbstring.script_encoding", "SJIS");
+ini_set("mbstring.script_encoding", "***") != "SJIS" and
+ die("skip zend-multibyte is not available");
+?>
+--INI--
+mbstring.script_encoding=ISO-8859-1
+mbstring.internal_encoding=UTF-8
+--FILE--
+<?php
+declare(encoding="CP932");
+var_dump(bin2hex("eXg"));
+?>
+--EXPECT--
+string(18) "e38386e382b9e38388"
diff --git a/ext/mbstring/tests/zend_multibyte-09.phpt b/ext/mbstring/tests/zend_multibyte-09.phpt
new file mode 100644
index 000000000..a1544f338
--- /dev/null
+++ b/ext/mbstring/tests/zend_multibyte-09.phpt
@@ -0,0 +1,21 @@
+--TEST--
+zend multibyte (9)
+--SKIPIF--
+<?php
+ini_set("mbstring.script_encoding", "SJIS");
+ini_set("mbstring.script_encoding", "***") != "SJIS" and
+ die("skip zend-multibyte is not available");
+?>
+--INI--
+mbstring.script_encoding=cp1251
+mbstring.internal_encoding=UTF-8
+--FILE--
+<?php
+declare(encoding="EUC-JP");
+// forcefully interpret an UTF-8 encoded string as EUC-JP and then convert it
+// back to UTF-8. There should be only a pair of consecutive bytes that is
+// valid EUC-encoded character "鴻".
+var_dump(bin2hex("テスト"));
+?>
+--EXPECT--
+string(16) "3f3f3fe9b4bb3f3f"
diff --git a/ext/mbstring/tests/zend_multibyte-10.phpt b/ext/mbstring/tests/zend_multibyte-10.phpt
new file mode 100644
index 000000000..6e860d76f
--- /dev/null
+++ b/ext/mbstring/tests/zend_multibyte-10.phpt
@@ -0,0 +1,15 @@
+--TEST--
+zend multibyte (10)
+--SKIPIF--
+<?php
+ini_set("mbstring.script_encoding", "SJIS");
+ini_set("mbstring.script_encoding", "***") != "SJIS" and
+ die("skip zend-multibyte is not available");
+?>
+--FILE--
+<?php
+declare(encoding="ISO-8859-15");
+declare(encoding="ISO-8859-1");
+?>
+--EXPECTF--
+Fatal error: Encoding declaration pragma must be the very first statement in the script in %s on line 3
diff --git a/ext/mbstring/tests/zend_multibyte-11.phpt b/ext/mbstring/tests/zend_multibyte-11.phpt
new file mode 100644
index 000000000..d525c01e2
--- /dev/null
+++ b/ext/mbstring/tests/zend_multibyte-11.phpt
@@ -0,0 +1,16 @@
+--TEST--
+zend multibyte (11)
+--SKIPIF--
+<?php
+ini_set("mbstring.script_encoding", "SJIS");
+ini_set("mbstring.script_encoding", "***") != "SJIS" and
+ die("skip zend-multibyte is not available");
+?>
+--FILE--
+<?php
+declare(encoding="ISO-8859-15") {
+ declare(encoding="ISO-8859-1");
+}
+?>
+--EXPECTF--
+Fatal error: Encoding declaration pragma must be the very first statement in the script in %s on line 3
diff --git a/ext/mbstring/tests/zend_multibyte-12.phpt b/ext/mbstring/tests/zend_multibyte-12.phpt
new file mode 100644
index 000000000..6bc43248e
--- /dev/null
+++ b/ext/mbstring/tests/zend_multibyte-12.phpt
@@ -0,0 +1,16 @@
+--TEST--
+zend multibyte (12)
+--SKIPIF--
+<?php
+ini_set("mbstring.script_encoding", "SJIS");
+ini_set("mbstring.script_encoding", "***") != "SJIS" and
+ die("skip zend-multibyte is not available");
+?>
+--FILE--
+<?php
+declare(encoding="ISO-8859-15");
+echo 1;
+declare(encoding="ISO-8859-1");
+?>
+--EXPECTF--
+Fatal error: Encoding declaration pragma must be the very first statement in the script in %s on line 4
diff --git a/ext/mbstring/tests/zend_multibyte-13.phpt b/ext/mbstring/tests/zend_multibyte-13.phpt
new file mode 100644
index 000000000..f929d9588
--- /dev/null
+++ b/ext/mbstring/tests/zend_multibyte-13.phpt
@@ -0,0 +1,22 @@
+--TEST--
+zend multibyte (13)
+--SKIPIF--
+<?php
+ini_set("mbstring.script_encoding", "SJIS");
+ini_set("mbstring.script_encoding", "***") != "SJIS" and
+ die("skip zend-multibyte is not available");
+?>
+--INI--
+mbstring.script_encoding=UTF-8
+mbstring.internal_encoding=ISO-8859-1
+--FILE--
+<?php
+var_dump(substr(file_get_contents(__FILE__), __COMPILER_HALT_OFFSET__));
+var_dump(bin2hex("äëüáéú"));
+__halt_compiler();test
+test
+--EXPECT--
+string(10) "test
+test
+"
+string(12) "e4ebfce1e9fa"
diff --git a/ext/mbstring/tests/zend_multibyte-14.phpt b/ext/mbstring/tests/zend_multibyte-14.phpt
new file mode 100644
index 000000000..e70ad699a
--- /dev/null
+++ b/ext/mbstring/tests/zend_multibyte-14.phpt
@@ -0,0 +1,22 @@
+--TEST--
+zend multibyte (14)
+--SKIPIF--
+<?php
+ini_set("mbstring.script_encoding", "SJIS");
+ini_set("mbstring.script_encoding", "***") != "SJIS" and
+ die("skip zend-multibyte is not available");
+?>
+--INI--
+mbstring.script_encoding=UTF-8
+mbstring.internal_encoding=UTF-8
+--FILE--
+<?php
+var_dump(substr(file_get_contents(__FILE__), __COMPILER_HALT_OFFSET__));
+var_dump(bin2hex("äëüáéú"));
+__halt_compiler();test
+test
+--EXPECT--
+string(10) "test
+test
+"
+string(24) "c3a4c3abc3bcc3a1c3a9c3ba"