diff options
author | Hyunjee Kim <hj0426.kim@samsung.com> | 2020-03-17 09:38:42 +0900 |
---|---|---|
committer | Hyunjee Kim <hj0426.kim@samsung.com> | 2020-03-17 10:32:30 +0900 |
commit | 8d2a41273a56a33a291d292c1fbee03cce290694 (patch) | |
tree | d2e93626e62e86e0be5696b4ce240d0af7376a6a /t/01_utf8.t | |
parent | c5bbcb68877d7b8bdb968a69aa62b3b90853cb3f (diff) | |
download | perl-json-8d2a41273a56a33a291d292c1fbee03cce290694.tar.gz perl-json-8d2a41273a56a33a291d292c1fbee03cce290694.tar.bz2 perl-json-8d2a41273a56a33a291d292c1fbee03cce290694.zip |
Imported Upstream version 4.02upstream/4.02
Change-Id: I549bbbd41e3db39e6fd6f2b1f2c4c94b94071018
Signed-off-by: Hyunjee Kim <hj0426.kim@samsung.com>
Diffstat (limited to 't/01_utf8.t')
-rw-r--r-- | t/01_utf8.t | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/t/01_utf8.t b/t/01_utf8.t new file mode 100644 index 0000000..dccefa5 --- /dev/null +++ b/t/01_utf8.t @@ -0,0 +1,25 @@ +# copied over from JSON::XS and modified to use JSON + +use strict; +use Test::More; +BEGIN { plan tests => 9 }; + +BEGIN { $ENV{PERL_JSON_BACKEND} ||= "JSON::backportPP"; } + +use utf8; +use JSON; + + +ok (JSON->new->allow_nonref (1)->utf8 (1)->encode ("ü") eq "\"\xc3\xbc\""); +ok (JSON->new->allow_nonref (1)->encode ("ü") eq "\"ü\""); +ok (JSON->new->allow_nonref (1)->ascii (1)->utf8 (1)->encode (chr 0x8000) eq '"\u8000"'); +ok (JSON->new->allow_nonref (1)->ascii (1)->utf8 (1)->pretty (1)->encode (chr 0x10402) eq "\"\\ud801\\udc02\"\n"); + +eval { JSON->new->allow_nonref (1)->utf8 (1)->decode ('"ü"') }; +ok $@ =~ /malformed UTF-8/; + +ok (JSON->new->allow_nonref (1)->decode ('"ü"') eq "ü"); +ok (JSON->new->allow_nonref (1)->decode ('"\u00fc"') eq "ü"); +ok (JSON->new->allow_nonref (1)->decode ('"\ud801\udc02' . "\x{10204}\"") eq "\x{10402}\x{10204}"); +ok (JSON->new->allow_nonref (1)->decode ('"\"\n\\\\\r\t\f\b"') eq "\"\012\\\015\011\014\010"); + |