summaryrefslogtreecommitdiff
path: root/ext/mbstring/tests
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2011-02-16 10:13:02 +0100
committerOndřej Surý <ondrej@sury.org>2011-02-16 10:13:02 +0100
commitfd5a0b31640419ca63d1ddeaffd6d3cf2a741814 (patch)
treebfd17d84c5181d7b98d7d66f56573f4fc897e31c /ext/mbstring/tests
parent01fcdff3849c3691d9aaeaab735846ab6d8895ca (diff)
downloadphp-upstream/5.3.5.tar.gz
Imported Upstream version 5.3.5upstream/5.3.5
Diffstat (limited to 'ext/mbstring/tests')
-rw-r--r--ext/mbstring/tests/bug43301.phpt4
-rw-r--r--ext/mbstring/tests/bug52861.phpt26
-rw-r--r--ext/mbstring/tests/bug52931.phpt22
-rw-r--r--ext/mbstring/tests/bug52981.phpt23
-rw-r--r--ext/mbstring/tests/mb_decode_mimeheader_variation1.phpt9
-rw-r--r--ext/mbstring/tests/mb_send_mail01.phpt4
-rw-r--r--ext/mbstring/tests/mb_send_mail02.phpt4
-rw-r--r--ext/mbstring/tests/mb_send_mail03.phpt4
-rw-r--r--ext/mbstring/tests/mb_send_mail04.phpt4
-rw-r--r--ext/mbstring/tests/mb_send_mail05.phpt4
-rw-r--r--ext/mbstring/tests/mb_send_mail06.phpt4
-rw-r--r--ext/mbstring/tests/mb_send_mail07.phpt4
-rw-r--r--ext/mbstring/tests/mb_strcut_missing_boundary_check.phpt31
13 files changed, 121 insertions, 22 deletions
diff --git a/ext/mbstring/tests/bug43301.phpt b/ext/mbstring/tests/bug43301.phpt
index 71b169c12..310426a14 100644
--- a/ext/mbstring/tests/bug43301.phpt
+++ b/ext/mbstring/tests/bug43301.phpt
@@ -15,7 +15,7 @@ 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
+Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in %sbug43301.php(%d) : mbregex replace on line 1
Fatal error: mb_ereg_replace(): Failed evaluating code:
-$1 in %s/bug43301.php on line %d
+$1 in %sbug43301.php on line %d
diff --git a/ext/mbstring/tests/bug52861.phpt b/ext/mbstring/tests/bug52861.phpt
new file mode 100644
index 000000000..085f3ba29
--- /dev/null
+++ b/ext/mbstring/tests/bug52861.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Bug #52681 (mb_send_mail() appends an extra MIME-Version header)
+--SKIPIF--
+<?php
+if (!function_exists("mb_send_mail") || !mb_language("neutral")) {
+ die("skip mb_send_mail() not available");
+}
+?>
+--INI--
+sendmail_path=/bin/cat
+mail.add_x_header=off
+--FILE--
+<?php
+$to = 'example@example.com';
+$headers = 'MIME-Version: 2.0';
+
+mb_send_mail($to, mb_language(), "test", $headers);
+?>
+--EXPECTF--
+To: example@example.com
+Subject: %s
+MIME-Version: 2.0
+Content-Type: text/plain; charset=%s
+Content-Transfer-Encoding: %s
+
+%s
diff --git a/ext/mbstring/tests/bug52931.phpt b/ext/mbstring/tests/bug52931.phpt
new file mode 100644
index 000000000..9669d884c
--- /dev/null
+++ b/ext/mbstring/tests/bug52931.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Bug #52931 (strripos not overloaded with function overloading enabled)
+--INI--
+mbstring.func_overload = 7
+mbstring.internal_encoding = utf-8
+--FILE--
+<?php
+
+$string = '<body>Umlauttest öüä</body>';
+
+var_dump(strlen($string));
+var_dump(mb_strlen($string));
+
+var_dump(strripos($string, '</body>'));
+var_dump(mb_strripos($string, '</body>'));
+
+?>
+--EXPECTF--
+int(27)
+int(27)
+int(20)
+int(20)
diff --git a/ext/mbstring/tests/bug52981.phpt b/ext/mbstring/tests/bug52981.phpt
new file mode 100644
index 000000000..fe96a56f0
--- /dev/null
+++ b/ext/mbstring/tests/bug52981.phpt
@@ -0,0 +1,23 @@
+--TEST--
+Bug #52981 (Unicode properties are outdated (from Unicode 3.2))
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--FILE--
+<?php
+function test($str)
+{
+ $upper = mb_strtoupper($str, 'UTF-8');
+ $len = strlen($upper);
+ for ($i = 0; $i < $len; ++$i) echo dechex(ord($upper[$i])) . ' ';
+ echo "\n";
+}
+
+// OK
+test("\xF0\x90\x90\xB8");// U+10438 DESERET SMALL LETTER H (added in 3.1.0, March 2001)
+// not OK
+test("\xE2\xB0\xB0"); // U+2C30 GLAGOLITIC SMALL LETTER AZU (added in 4.1.0, March 2005)
+test("\xD4\xA5"); // U+0525 CYRILLIC SMALL LETTER PE WITH DESCENDER (added in 5.2.0, October 2009)
+--EXPECTF--
+f0 90 90 90
+e2 b0 80
+d4 a4
diff --git a/ext/mbstring/tests/mb_decode_mimeheader_variation1.phpt b/ext/mbstring/tests/mb_decode_mimeheader_variation1.phpt
index 7a1c8868c..e07ccad99 100644
--- a/ext/mbstring/tests/mb_decode_mimeheader_variation1.phpt
+++ b/ext/mbstring/tests/mb_decode_mimeheader_variation1.phpt
@@ -1,10 +1,7 @@
--TEST--
-p8_only
-Title: Test mb_decode_mimeheader() function : usage variation
-Internal Reason: we output an extra warning message
-P8 only feature: Yes
-Author: D. Kelsey
-Date: 01/09/2008
+Test mb_decode_mimeheader() function : usage variation
+--CREDITS--
+D. Kesley
--SKIPIF--
<?php
extension_loaded('mbstring') or die('skip');
diff --git a/ext/mbstring/tests/mb_send_mail01.phpt b/ext/mbstring/tests/mb_send_mail01.phpt
index 90cc3aa9c..28a401e31 100644
--- a/ext/mbstring/tests/mb_send_mail01.phpt
+++ b/ext/mbstring/tests/mb_send_mail01.phpt
@@ -25,14 +25,14 @@ if (mb_language("neutral")) {
--EXPECTF--
To: example@example.com
Subject: %s
-Mime-Version: 1.0
+MIME-Version: 1.0
Content-Type: text/plain; charset=%s
Content-Transfer-Encoding: %s
%s
To: example@example.com
Subject: test neutral
-Mime-Version: 1.0
+MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: BASE64
diff --git a/ext/mbstring/tests/mb_send_mail02.phpt b/ext/mbstring/tests/mb_send_mail02.phpt
index 81f2464d5..af335ccc5 100644
--- a/ext/mbstring/tests/mb_send_mail02.phpt
+++ b/ext/mbstring/tests/mb_send_mail02.phpt
@@ -25,14 +25,14 @@ if (mb_language("japanese")) {
--EXPECTF--
To: example@example.com
Subject: %s
-Mime-Version: 1.0
+MIME-Version: 1.0
Content-Type: text/plain; charset=%s
Content-Transfer-Encoding: %s
%s
To: example@example.com
Subject: =?ISO-2022-JP?B?GyRCJUYlOSVIGyhCIEphcGFuZXNl?=
-Mime-Version: 1.0
+MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
diff --git a/ext/mbstring/tests/mb_send_mail03.phpt b/ext/mbstring/tests/mb_send_mail03.phpt
index 1334fadd7..23a988ffe 100644
--- a/ext/mbstring/tests/mb_send_mail03.phpt
+++ b/ext/mbstring/tests/mb_send_mail03.phpt
@@ -25,14 +25,14 @@ if (mb_language("english")) {
--EXPECTF--
To: example@example.com
Subject: %s
-Mime-Version: 1.0
+MIME-Version: 1.0
Content-Type: text/plain; charset=%s
Content-Transfer-Encoding: %s
%s
To: example@example.com
Subject: test English
-Mime-Version: 1.0
+MIME-Version: 1.0
Content-Type: text/plain; charset=%s-8859-1
Content-Transfer-Encoding: 8bit
diff --git a/ext/mbstring/tests/mb_send_mail04.phpt b/ext/mbstring/tests/mb_send_mail04.phpt
index 0dcc318cc..49bda090f 100644
--- a/ext/mbstring/tests/mb_send_mail04.phpt
+++ b/ext/mbstring/tests/mb_send_mail04.phpt
@@ -25,14 +25,14 @@ if (mb_language("german")) {
--EXPECTF--
To: example@example.com
Subject: %s
-Mime-Version: 1.0
+MIME-Version: 1.0
Content-Type: text/plain; charset=%s
Content-Transfer-Encoding: %s
%s
To: example@example.com
Subject: =?ISO-8859-15?Q?Pr=FCfung=20German?=
-Mime-Version: 1.0
+MIME-Version: 1.0
Content-Type: text/plain; charset=%s-8859-15
Content-Transfer-Encoding: 8bit
diff --git a/ext/mbstring/tests/mb_send_mail05.phpt b/ext/mbstring/tests/mb_send_mail05.phpt
index a93fa791a..1bbaaadcd 100644
--- a/ext/mbstring/tests/mb_send_mail05.phpt
+++ b/ext/mbstring/tests/mb_send_mail05.phpt
@@ -28,7 +28,7 @@ if (mb_language("simplified chinese")) {
--EXPECTF--
To: example@example.com
Subject: %s
-Mime-Version: 1.0
+MIME-Version: 1.0
Content-Type: text/plain; charset=%s
Content-Transfer-Encoding: %s
@@ -36,7 +36,7 @@ Content-Transfer-Encoding: %s
To: example@example.com
Subject: =?HZ-GB-2312?B?fnsyYlFpfn0gU2ltcGxpZmllZCBD?=
=?HZ-GB-2312?B?aGluZXNl?=
-Mime-Version: 1.0
+MIME-Version: 1.0
Content-Type: text/plain; charset=HZ-GB-2312
Content-Transfer-Encoding: 7bit
diff --git a/ext/mbstring/tests/mb_send_mail06.phpt b/ext/mbstring/tests/mb_send_mail06.phpt
index 9970340d5..4eb5492bc 100644
--- a/ext/mbstring/tests/mb_send_mail06.phpt
+++ b/ext/mbstring/tests/mb_send_mail06.phpt
@@ -28,14 +28,14 @@ if (mb_language("traditional chinese")) {
--EXPECTF--
To: example@example.com
Subject: %s
-Mime-Version: 1.0
+MIME-Version: 1.0
Content-Type: text/plain; charset=%s
Content-Transfer-Encoding: %s
%s
To: example@example.com
Subject: =?BIG5?B?tPrF5yBUcmFkaXRpb25hbCBDaGluZXNl?=
-Mime-Version: 1.0
+MIME-Version: 1.0
Content-Type: text/plain; charset=BIG5
Content-Transfer-Encoding: 8bit
diff --git a/ext/mbstring/tests/mb_send_mail07.phpt b/ext/mbstring/tests/mb_send_mail07.phpt
index afd9a0b15..42b91fa68 100644
--- a/ext/mbstring/tests/mb_send_mail07.phpt
+++ b/ext/mbstring/tests/mb_send_mail07.phpt
@@ -28,14 +28,14 @@ if (mb_language("korean")) {
--EXPECTF--
To: example@example.com
Subject: %s
-Mime-Version: 1.0
+MIME-Version: 1.0
Content-Type: text/plain; charset=%s
Content-Transfer-Encoding: %s
%s
To: example@example.com
Subject: =?ISO-2022-KR?B?GyQpQw5FVz06Ri4PIEtvcmVhbg8=?=
-Mime-Version: 1.0
+MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-KR
Content-Transfer-Encoding: 7bit
diff --git a/ext/mbstring/tests/mb_strcut_missing_boundary_check.phpt b/ext/mbstring/tests/mb_strcut_missing_boundary_check.phpt
new file mode 100644
index 000000000..a67b99e7d
--- /dev/null
+++ b/ext/mbstring/tests/mb_strcut_missing_boundary_check.phpt
@@ -0,0 +1,31 @@
+--TEST--
+mb_strcut() missing boundary check.
+--SKIPIF--
+<?php
+extension_loaded('mbstring') or die('skip');
+function_exists('mb_convert_encoding') or die("skip mb_convert_encoding() is not available in this build");
+?>
+--FILE--
+<?php
+mb_internal_encoding("UCS-4LE");
+var_dump(bin2hex(mb_strcut("\x61\x00\x00\x00\x62\x00\x00\x00\x63\x00\x00\x00", 0, 32)));
+mb_internal_encoding("UCS-4BE");
+var_dump(bin2hex(mb_strcut("\x00\x00\x00\x61\x00\x00\x00\x62\x00\x00\x00\x63", 0, 32)));
+mb_internal_encoding("UCS-2LE");
+var_dump(bin2hex(mb_strcut("\x61\x00\x62\x00\x63\x00", 0, 32)));
+mb_internal_encoding("UCS-2BE");
+var_dump(bin2hex(mb_strcut("\x00\x61\x00\x62\x00\x63", 0, 32)));
+mb_internal_encoding("UTF-16");
+var_dump(bin2hex(mb_strcut("\x00\x61\x00\x62\x00\x63", 0, 32)));
+mb_internal_encoding("UTF-8");
+var_dump(bin2hex(mb_strcut("abc", 0, 32)));
+mb_internal_encoding("ISO-8859-1");
+var_dump(bin2hex(mb_strcut("abc", 0, 32)));
+--EXPECT--
+string(24) "610000006200000063000000"
+string(24) "000000610000006200000063"
+string(12) "610062006300"
+string(12) "006100620063"
+string(12) "006100620063"
+string(6) "616263"
+string(6) "616263"