|
Packit |
a557cb |
use strict;
|
|
Packit |
a557cb |
use Test::More;
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
BEGIN { plan tests => 3 };
|
|
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 |
my $json = JSON->new->allow_nonref->utf8;
|
|
Packit |
a557cb |
my $str = '\\u00c8';
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
my $value = $json->decode( '"\\u00c8"' );
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
#use Devel::Peek;
|
|
Packit |
a557cb |
#Dump( $value );
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
is( $value, chr 0xc8 );
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
SKIP: {
|
|
Packit |
a557cb |
skip "UNICODE handling is disabale.", 1 unless $JSON::can_handle_UTF16_and_utf8;
|
|
Packit |
a557cb |
ok( utf8::is_utf8( $value ) );
|
|
Packit |
a557cb |
}
|
|
Packit |
a557cb |
|
|
Packit |
a557cb |
eval { $json->decode( '"' . chr(0xc8) . '"' ) };
|
|
Packit |
a557cb |
ok( $@ =~ /malformed UTF-8 character in JSON string/ );
|
|
Packit |
a557cb |
|