summaryrefslogtreecommitdiff
path: root/t/e12_upgrade.t
diff options
context:
space:
mode:
Diffstat (limited to 't/e12_upgrade.t')
-rw-r--r--t/e12_upgrade.t32
1 files changed, 32 insertions, 0 deletions
diff --git a/t/e12_upgrade.t b/t/e12_upgrade.t
new file mode 100644
index 0000000..820eed8
--- /dev/null
+++ b/t/e12_upgrade.t
@@ -0,0 +1,32 @@
+use strict;
+use Test::More;
+
+BEGIN { plan tests => 3 };
+
+BEGIN { $ENV{PERL_JSON_BACKEND} = "JSON::backportPP"; }
+
+use JSON;
+
+BEGIN {
+ use lib qw(t);
+ use _unicode_handling;
+}
+
+my $json = JSON->new->allow_nonref->utf8;
+my $str = '\\u00c8';
+
+my $value = $json->decode( '"\\u00c8"' );
+
+#use Devel::Peek;
+#Dump( $value );
+
+is( $value, chr 0xc8 );
+
+SKIP: {
+ skip "UNICODE handling is disabale.", 1 unless $JSON::can_handle_UTF16_and_utf8;
+ ok( utf8::is_utf8( $value ) );
+}
+
+eval { $json->decode( '"' . chr(0xc8) . '"' ) };
+ok( $@ =~ /malformed UTF-8 character in JSON string/ );
+