ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/JSON-XS/t/01_utf8.t
Revision: 1.1
Committed: Thu Mar 22 23:24:18 2007 UTC (17 years, 3 months ago) by root
Content type: application/x-troff
Branch: MAIN
CVS Tags: rel-2_01, rel-1_11, rel-1_51, rel-1_53, rel-2_222, rel-0_31, rel-2_2, rel-2_0, rel-2_1, rel-0_2, rel-0_3, rel-0_5, rel-0_7, rel-0_8, rel-1_1, rel-1_0, rel-1_3, rel-1_2, rel-1_5, rel-1_4, rel-2_2311, rel-1_01, rel-1_24, rel-1_21, rel-1_22, rel-1_23, rel-1_43, rel-1_41, rel-2_232, rel-2_231, rel-2_21, rel-2_2222, rel-2_23, rel-2_22, rel-2_25, rel-2_24
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 BEGIN { $| = 1; print "1..9\n"; }
2    
3     use utf8;
4     use JSON::XS;
5    
6     our $test;
7     sub ok($) {
8     print $_[0] ? "" : "not ", "ok ", ++$test, "\n";
9     }
10    
11     ok (JSON::XS->new->allow_nonref (1)->utf8 (1)->encode ("ü") eq "\"\xc3\xbc\"");
12     ok (JSON::XS->new->allow_nonref (1)->encode ("ü") eq "\"ü\"");
13     ok (JSON::XS->new->allow_nonref (1)->ascii (1)->utf8 (1)->encode (chr 0x8000) eq '"\u8000"');
14     ok (JSON::XS->new->allow_nonref (1)->ascii (1)->utf8 (1)->pretty (1)->encode (chr 0x10402) eq '"\ud801\udc02"');
15    
16     eval { JSON::XS->new->allow_nonref (1)->utf8 (1)->decode ('"ü"') };
17     ok $@ =~ /malformed UTF-8/;
18    
19     ok (JSON::XS->new->allow_nonref (1)->decode ('"ü"') eq "ü");
20     ok (JSON::XS->new->allow_nonref (1)->decode ('"\u00fc"') eq "ü");
21     ok (JSON::XS->new->allow_nonref (1)->decode ('"\ud801\udc02' . "\x{10204}\"") eq "\x{10402}\x{10204}");
22     ok (JSON::XS->new->allow_nonref (1)->decode ('"\"\n\\\\\r\t\f\b"') eq "\"\012\\\015\011\014\010");
23