Annotation of embedaddon/php/ext/mbstring/tests/bug65045.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #65045: mb_convert_encoding breaks well-formed character
                      3: --SKIPIF--
                      4: <?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
                      5: --FILE--
                      6: <?php
                      7: 
                      8: //declare(encoding = 'UTF-8');
                      9: mb_internal_encoding('UTF-8');
                     10: 
                     11: $str = "\xF0\xA4\xAD".  "\xF0\xA4\xAD\xA2"."\xF0\xA4\xAD\xA2";
                     12: $expected = "\xEF\xBF\xBD"."\xF0\xA4\xAD\xA2"."\xF0\xA4\xAD\xA2";
                     13: 
                     14: $str2 = "\xF0\xA4\xAD\xA2"."\xF0\xA4\xAD\xA2"."\xF0\xA4\xAD";
                     15: $expected2 = "\xF0\xA4\xAD\xA2"."\xF0\xA4\xAD\xA2"."\xEF\xBF\xBD";
                     16: 
                     17: mb_substitute_character(0xFFFD);
                     18: var_dump(
                     19:     $expected === htmlspecialchars_decode(htmlspecialchars($str, ENT_SUBSTITUTE, 'UTF-8')),
                     20:     $expected2 === htmlspecialchars_decode(htmlspecialchars($str2, ENT_SUBSTITUTE, 'UTF-8')), 
                     21:     $expected === mb_convert_encoding($str, 'UTF-8', 'UTF-8'),
                     22:     $expected2 === mb_convert_encoding($str2, 'UTF-8', 'UTF-8')
                     23: );
                     24: 
                     25: --EXPECT--
                     26: bool(true)
                     27: bool(true)
                     28: bool(true)
                     29: bool(true)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>