- add sources.
[platform/framework/web/crosswalk.git] / src / third_party / JSON / JSON-2.59 / t / xe11_conv_blessed_univ.t
1
2 use strict;
3 use Test::More;
4 BEGIN { plan tests => 3 };
5
6 BEGIN { $ENV{PERL_JSON_BACKEND} = 1; }
7
8 use JSON -convert_blessed_universally;
9
10 SKIP: {
11     skip "can't use JSON::XS.", 3, unless( JSON->backend->is_xs );
12
13 my $obj  = Test->new( [ 1, 2, {foo => 'bar'} ] );
14
15 $obj->[3] = Test2->new( { a => 'b' } );
16
17 my $json = JSON->new->allow_blessed->convert_blessed;
18
19 is( $json->encode( $obj ), '[1,2,{"foo":"bar"},"hoge"]'  );
20
21 $json->convert_blessed(0);
22
23 is( $json->encode( $obj ), 'null' );
24
25 $json->allow_blessed(0)->convert_blessed(1);
26
27 is( $json->encode( $obj ), '[1,2,{"foo":"bar"},"hoge"]'  );
28
29 }
30
31 package Test;
32
33 sub new {
34     bless $_[1], $_[0];
35 }
36
37
38
39 package Test2;
40
41 sub new {
42     bless $_[1], $_[0];
43 }
44
45 sub TO_JSON {
46     "hoge";
47 }
48