Index: third_party/JSON/JSON-2.59/t/xe11_conv_blessed_univ.t |
diff --git a/third_party/JSON/JSON-2.59/t/xe11_conv_blessed_univ.t b/third_party/JSON/JSON-2.59/t/xe11_conv_blessed_univ.t |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8ccc0c1384af6082bfa0c8afe2becf205d914d24 |
--- /dev/null |
+++ b/third_party/JSON/JSON-2.59/t/xe11_conv_blessed_univ.t |
@@ -0,0 +1,48 @@ |
+ |
+use strict; |
+use Test::More; |
+BEGIN { plan tests => 3 }; |
+ |
+BEGIN { $ENV{PERL_JSON_BACKEND} = 1; } |
+ |
+use JSON -convert_blessed_universally; |
+ |
+SKIP: { |
+ skip "can't use JSON::XS.", 3, unless( JSON->backend->is_xs ); |
+ |
+my $obj = Test->new( [ 1, 2, {foo => 'bar'} ] ); |
+ |
+$obj->[3] = Test2->new( { a => 'b' } ); |
+ |
+my $json = JSON->new->allow_blessed->convert_blessed; |
+ |
+is( $json->encode( $obj ), '[1,2,{"foo":"bar"},"hoge"]' ); |
+ |
+$json->convert_blessed(0); |
+ |
+is( $json->encode( $obj ), 'null' ); |
+ |
+$json->allow_blessed(0)->convert_blessed(1); |
+ |
+is( $json->encode( $obj ), '[1,2,{"foo":"bar"},"hoge"]' ); |
+ |
+} |
+ |
+package Test; |
+ |
+sub new { |
+ bless $_[1], $_[0]; |
+} |
+ |
+ |
+ |
+package Test2; |
+ |
+sub new { |
+ bless $_[1], $_[0]; |
+} |
+ |
+sub TO_JSON { |
+ "hoge"; |
+} |
+ |