|
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 |
|