ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/JSON-XS/t/07_pc_esc.t
Revision: 1.1
Committed: Fri Mar 23 15:10:56 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-4_0, rel-2_222, rel-0_31, rel-3_0, rel-4_01, rel-4_03, rel-4_02, rel-2_2, rel-2_3, rel-2_0, rel-2_1, rel-0_3, rel-4_0_00, rel-0_5, rel-0_7, rel-0_8, rel-2_34, rel-2_32, rel-2_33, rel-2_31, 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-3_01, rel-3_02, rel-3_03, rel-3_04, rel-1_21, rel-1_22, rel-1_23, rel-1_43, rel-1_41, rel-2_232, rel-2_231, rel-2_29, rel-2_28, rel-2_21, rel-2_2222, rel-2_23, rel-2_22, rel-2_25, rel-2_24, rel-2_27, rel-2_26, HEAD
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 #
2     # このファイルのエンコーディングはUTF-8
3     #
4    
5     # copied over from JSON::PC and modified to use JSON::XS
6    
7     use Test::More;
8     use strict;
9     use utf8;
10     BEGIN { plan tests => 17 };
11     use JSON::XS;
12    
13     #########################
14     my ($js,$obj,$str);
15    
16     my $pc = new JSON::XS;
17    
18     $obj = {test => qq|abc"def|};
19     $str = $pc->encode($obj);
20     is($str,q|{"test":"abc\"def"}|);
21    
22     $obj = {qq|te"st| => qq|abc"def|};
23     $str = $pc->encode($obj);
24     is($str,q|{"te\"st":"abc\"def"}|);
25    
26     $obj = {test => qq|abc/def|}; # / => \/
27     $str = $pc->encode($obj); # but since version 0.99
28     is($str,q|{"test":"abc/def"}|); # this handling is deleted.
29     $obj = $pc->decode($str);
30     is($obj->{test},q|abc/def|);
31    
32     $obj = {test => q|abc\def|};
33     $str = $pc->encode($obj);
34     is($str,q|{"test":"abc\\\\def"}|);
35    
36     $obj = {test => "abc\bdef"};
37     $str = $pc->encode($obj);
38     is($str,q|{"test":"abc\bdef"}|);
39    
40     $obj = {test => "abc\fdef"};
41     $str = $pc->encode($obj);
42     is($str,q|{"test":"abc\fdef"}|);
43    
44     $obj = {test => "abc\ndef"};
45     $str = $pc->encode($obj);
46     is($str,q|{"test":"abc\ndef"}|);
47    
48     $obj = {test => "abc\rdef"};
49     $str = $pc->encode($obj);
50     is($str,q|{"test":"abc\rdef"}|);
51    
52     $obj = {test => "abc-def"};
53     $str = $pc->encode($obj);
54     is($str,q|{"test":"abc-def"}|);
55    
56     $obj = {test => "abc(def"};
57     $str = $pc->encode($obj);
58     is($str,q|{"test":"abc(def"}|);
59    
60     $obj = {test => "abc\\def"};
61     $str = $pc->encode($obj);
62     is($str,q|{"test":"abc\\\\def"}|);
63    
64     $obj = {test => "あいうえお"};
65     $str = $pc->encode($obj);
66     is($str,q|{"test":"あいうえお"}|);
67    
68     $obj = {"あいうえお" => "かきくけこ"};
69     $str = $pc->encode($obj);
70     is($str,q|{"あいうえお":"かきくけこ"}|);
71    
72     $obj = $pc->decode(q|{"id":"abc\ndef"}|);
73     is($obj->{id},"abc\ndef",q|{"id":"abc\ndef"}|);
74    
75     $obj = $pc->decode(q|{"id":"abc\\\ndef"}|);
76     is($obj->{id},"abc\\ndef",q|{"id":"abc\\\ndef"}|);
77    
78     $obj = $pc->decode(q|{"id":"abc\\\\\ndef"}|);
79     is($obj->{id},"abc\\\ndef",q|{"id":"abc\\\\\ndef"}|);
80