BEGIN { plan
tests
=> 7 };
BEGIN {
$ENV
{PERL_JSON_BACKEND} = 0; }
my
$isASCII
=
ord
"A"
== 65;
no
utf8;
my
$json
= JSON::PP->new->allow_nonref;
is(
$json
->decode(
q|"ü"|
),
"ü"
);
is(
$json
->decode(
q|"\u00fc"|
),
"\xfc"
);
is(
$json
->decode(
q|"\u00c3\u00bc"|
),
"\xc3\xbc"
);
my
$str
=
'あ'
;
is(
$json
->decode((
$isASCII
) ?
q|"\u00e3\u0081\u0082"|
:
q|"\u00ce\u0043\u0043"|
),
$str
);
utf8::decode(
$str
);
is(
$json
->decode(
q|"\u3042"|
),
$str
);
my
$utf8
=
$json
->decode(
q|"\ud809\udc00"|
);
utf8::encode(
$utf8
);
is(
$utf8
, (
$isASCII
) ?
"\xf0\x92\x90\x80"
:
"\xDE\x4A\x41\x41"
);
eval
{
$json
->decode(
q|{"action":"foo" "method":"bar","tid":1}|
) };
my
$error
= $@;
like
$error
=>
qr!""method":"bar","tid"..."!
;