Blame t/109_encode.t

Packit a557cb
#
Packit a557cb
# decode on Perl 5.005, 5.6, 5.8 or later
Packit a557cb
#
Packit a557cb
use strict;
Packit a557cb
use Test::More;
Packit a557cb
Packit a557cb
BEGIN { plan tests => 7 };
Packit a557cb
Packit a557cb
BEGIN { $ENV{PERL_JSON_BACKEND} ||= "JSON::backportPP"; }
Packit a557cb
Packit a557cb
use JSON;
Packit a557cb
Packit a557cb
BEGIN {
Packit a557cb
    use lib qw(t);
Packit a557cb
    use _unicode_handling;
Packit a557cb
}
Packit a557cb
Packit a557cb
no utf8;
Packit a557cb
Packit a557cb
my $json = JSON->new->allow_nonref;
Packit a557cb
Packit a557cb
is($json->encode("ü"),                   q|"ü"|); # as is
Packit a557cb
Packit a557cb
$json->ascii;
Packit a557cb
Packit a557cb
is($json->encode("\xfc"),           q|"\u00fc"|); # latin1
Packit a557cb
is($json->encode("\xc3\xbc"), q|"\u00c3\u00bc"|); # utf8
Packit a557cb
is($json->encode("ü"),        q|"\u00c3\u00bc"|); # utf8
Packit a557cb
is($json->encode('あ'), q|"\u00e3\u0081\u0082"|);
Packit a557cb
Packit a557cb
if ($] >= 5.006) {
Packit a557cb
    is($json->encode(chr hex 3042 ),  q|"\u3042"|);
Packit a557cb
    is($json->encode(chr hex 12345 ), q|"\ud808\udf45"|);
Packit a557cb
}
Packit a557cb
else {
Packit a557cb
    is($json->encode(chr hex 3042 ),  $json->encode(chr 66));
Packit a557cb
    is($json->encode(chr hex 12345 ), $json->encode(chr 69));
Packit a557cb
}
Packit a557cb