Annotation of embedaddon/php/ext/json/tests/bug46944.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #46944 (json_encode() doesn't handle 3 byte utf8 correctly)
! 3: --SKIPIF--
! 4: <?php if (!extension_loaded('json')) print 'skip'; ?>
! 5: --FILE--
! 6: <?php
! 7:
! 8: for ($i = 1; $i <= 16; $i++) {
! 9: $first = 0xf0|($i >> 2);
! 10: $second = 0x8f|($i & 3) << 4;
! 11: $string = sprintf("aa%c%c\xbf\xbdzz", $first, $second);
! 12: echo json_encode($string) . "\n";
! 13: }
! 14:
! 15:
! 16: echo "Done\n";
! 17: ?>
! 18: --EXPECT--
! 19: "aa\ud83f\udffdzz"
! 20: "aa\ud87f\udffdzz"
! 21: "aa\ud8bf\udffdzz"
! 22: "aa\ud8ff\udffdzz"
! 23: "aa\ud93f\udffdzz"
! 24: "aa\ud97f\udffdzz"
! 25: "aa\ud9bf\udffdzz"
! 26: "aa\ud9ff\udffdzz"
! 27: "aa\uda3f\udffdzz"
! 28: "aa\uda7f\udffdzz"
! 29: "aa\udabf\udffdzz"
! 30: "aa\udaff\udffdzz"
! 31: "aa\udb3f\udffdzz"
! 32: "aa\udb7f\udffdzz"
! 33: "aa\udbbf\udffdzz"
! 34: "aa\udbff\udffdzz"
! 35: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>