1#
2# decode on Perl 5.005, 5.6, 5.8 or later
3#
4use strict;
5use Test::More;
6
7BEGIN { plan tests => 7 };
8
9BEGIN { $ENV{PERL_JSON_BACKEND} = 0; }
10
11use JSON::PP;
12
13no utf8;
14
15my $json = JSON::PP->new->allow_nonref;
16
17is($json->encode("ü"),                   q|"ü"|); # as is
18
19$json->ascii;
20
21is($json->encode("\xfc"),           q|"\u00fc"|); # latin1
22is($json->encode("\xc3\xbc"), q|"\u00c3\u00bc"|); # utf8
23is($json->encode("ü"),        q|"\u00c3\u00bc"|); # utf8
24is($json->encode('あ'), q|"\u00e3\u0081\u0082"|);
25
26if ($] >= 5.006) {
27    is($json->encode(chr hex 3042 ),  q|"\u3042"|);
28    is($json->encode(chr hex 12345 ), q|"\ud808\udf45"|);
29}
30else {
31    is($json->encode(chr hex 3042 ),  $json->encode(chr 66));
32    is($json->encode(chr hex 12345 ), $json->encode(chr 69));
33}
34
35