1# copied over from JSON::XS and modified to use JSON::PP 2 3package JSON::PP::freeze; 4 51; 6 7package JSON::PP::tojson; 8 91; 10 11package main; 12 13use strict; 14use warnings; 15use Test::More; 16BEGIN { plan tests => 20 }; 17BEGIN { $^W = 0 } # hate 18 19BEGIN { $ENV{PERL_JSON_BACKEND} = 0; } 20 21use JSON::PP; 22 23my $json = JSON::PP->new->convert_blessed->allow_tags->allow_nonref; 24 25ok (1); 26 27sub JSON::PP::tojson::TO_JSON { 28 ok (@_ == 1); 29 ok (JSON::PP::tojson:: eq ref $_[0]); 30 ok ($_[0]{k} == 1); 31 7 32} 33 34my $obj = bless { k => 1 }, JSON::PP::tojson::; 35 36ok (1); 37 38my $enc = $json->encode ($obj); 39ok ($enc eq 7); 40 41ok (1); 42 43sub JSON::PP::freeze::FREEZE { 44 ok (@_ == 2); 45 ok ($_[1] eq "JSON"); 46 ok (JSON::PP::freeze:: eq ref $_[0]); 47 ok ($_[0]{k} == 1); 48 (3, 1, 2) 49} 50 51sub JSON::PP::freeze::THAW { 52 ok (@_ == 5); 53 ok (JSON::PP::freeze:: eq $_[0]); 54 ok ($_[1] eq "JSON"); 55 ok ($_[2] == 3); 56 ok ($_[3] == 1); 57 ok ($_[4] == 2); 58 777 59} 60 61$obj = bless { k => 1 }, JSON::PP::freeze::; 62$enc = $json->encode ($obj); 63ok ($enc eq '("JSON::PP::freeze")[3,1,2]'); 64 65my $dec = $json->decode ($enc); 66ok ($dec eq 777); 67 68ok (1); 69 70