ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/JSON-XS/t/04_dwiw_encode.t
Revision: 1.1
Committed: Fri Mar 23 15:10:55 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 #! perl
2    
3     # copied over from JSON::DWIW and modified to use JSON::XS
4    
5     # Creation date: 2007-02-20 19:51:06
6     # Authors: don
7    
8     use strict;
9     use Test;
10    
11     # main
12     {
13     BEGIN { plan tests => 5 }
14    
15     use JSON::XS;
16    
17     my $data;
18    
19     # my $expected_str = '{"var1":"val1","var2":["first_element",{"sub_element":"sub_val","sub_element2":"sub_val2"}],"var3":"val3"}';
20    
21     my $expected_str1 = '{"var1":"val1","var2":["first_element",{"sub_element":"sub_val","sub_element2":"sub_val2"}]}';
22     my $expected_str2 = '{"var2":["first_element",{"sub_element":"sub_val","sub_element2":"sub_val2"}],"var1":"val1"}';
23     my $expected_str3 = '{"var2":["first_element",{"sub_element2":"sub_val2","sub_element":"sub_val"}],"var1":"val1"}';
24     my $expected_str4 = '{"var1":"val1","var2":["first_element",{"sub_element2":"sub_val2","sub_element":"sub_val"}]}';
25    
26     my $json_obj = JSON::XS->new->allow_nonref (1);
27     my $json_str;
28     # print STDERR "\n" . $json_str . "\n\n";
29    
30     my $expected_str;
31    
32     $data = 'stuff';
33     $json_str = $json_obj->encode($data);
34     ok($json_str eq '"stuff"');
35    
36     $data = "stu\nff";
37     $json_str = $json_obj->encode($data);
38     ok($json_str eq '"stu\nff"');
39    
40     $data = [ 1, 2, 3 ];
41     $expected_str = '[1,2,3]';
42     $json_str = $json_obj->encode($data);
43    
44     ok($json_str eq $expected_str);
45    
46     $data = { var1 => 'val1', var2 => 'val2' };
47     $json_str = $json_obj->encode($data);
48    
49     ok($json_str eq '{"var1":"val1","var2":"val2"}'
50     or $json_str eq '{"var2":"val2","var1":"val1"}');
51    
52     $data = { var1 => 'val1',
53     var2 => [ 'first_element',
54     { sub_element => 'sub_val', sub_element2 => 'sub_val2' },
55     ],
56     # var3 => 'val3',
57     };
58    
59     $json_str = $json_obj->encode($data);
60    
61     ok($json_str eq $expected_str1 or $json_str eq $expected_str2
62     or $json_str eq $expected_str3 or $json_str eq $expected_str4);
63     }
64    
65     exit 0;
66    
67     ###############################################################################
68     # Subroutines
69