com php-src: added test code for #65045.: ext/mbstring/tests/bug65045.phpt
| From: | Rui Hirokawa | Date: | Sun, 30 Jun 2013 06:31:36 +0000 |
| Subject: | com php-src: added test code for #65045.: ext/mbstring/tests/bug65045.phpt | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-72555@lists.php.net to get a copy of this message | ||
Commit: 1db66942e1c2e16b36ee614d827605b9fd9b611f
Author: Rui Hirokawa <hirokawa@php.net> Sun, 30 Jun 2013 15:31:36 +0900
Parents: c6a7549efcca62346687b0fda5b408b963f5ab2d
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=1db66942e1c2e16b36ee614d827605b9fd9b611f
Log:
added test code for #65045.
Bugs:
https://bugs.php.net/65045
Changed paths:
A ext/mbstring/tests/bug65045.phpt
Diff:
diff --git a/ext/mbstring/tests/bug65045.phpt b/ext/mbstring/tests/bug65045.phpt
new file mode 100644
index 0000000...03a090d
--- /dev/null
+++ b/ext/mbstring/tests/bug65045.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Bug #65045: mb_convert_encoding breaks well-formed character
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available');
?>
+--FILE--
+<?php
+
+//declare(encoding = 'UTF-8');
+mb_internal_encoding('UTF-8');
+
+$str = "\xF0\xA4\xAD". "\xF0\xA4\xAD\xA2"."\xF0\xA4\xAD\xA2";
+$expected = "\xEF\xBF\xBD"."\xF0\xA4\xAD\xA2"."\xF0\xA4\xAD\xA2";
+
+$str2 = "\xF0\xA4\xAD\xA2"."\xF0\xA4\xAD\xA2"."\xF0\xA4\xAD";
+$expected2 = "\xF0\xA4\xAD\xA2"."\xF0\xA4\xAD\xA2"."\xEF\xBF\xBD";
+
+mb_substitute_character(0xFFFD);
+var_dump(
+ $expected === htmlspecialchars_decode(htmlspecialchars($str, ENT_SUBSTITUTE,
'UTF-8')),
+ $expected2 === htmlspecialchars_decode(htmlspecialchars($str2, ENT_SUBSTITUTE,
'UTF-8')),
+ $expected === mb_convert_encoding($str, 'UTF-8', 'UTF-8'),
+ $expected2 === mb_convert_encoding($str2, 'UTF-8', 'UTF-8')
+);
+
+--EXPECT--
+bool(true)
+bool(true)
+bool(true)
+bool(true)
\ No newline at end of file