| 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";
|
| +}
|
| +
|
|
|