ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/CBOR-XS/t/54_sharing.t
Revision: 1.1
Committed: Sat Nov 30 18:13:53 2013 UTC (10 years, 7 months ago) by root
Content type: application/x-troff
Branch: MAIN
CVS Tags: rel-1_8, rel-1_71, rel-1_4, rel-1_5, rel-1_41, rel-1_82, rel-1_83, rel-1_3, rel-1_81, rel-1_86, rel-1_84, rel-1_85, rel-1_1, rel-1_11, rel-1_7, rel-1_12, rel-1_25, rel-1_26, rel-1_6
Log Message:
*** empty log message ***

File Contents

# Content
1 BEGIN { $| = 1; print "1..11\n"; }
2 BEGIN { $^W = 0 } # hate
3
4 use CBOR::XS;
5
6 print "ok 1\n";
7
8 sub CBOR::XS::freeze::FREEZE { 77 }
9 sub CBOR::XS::freeze::THAW { \my $dummy }
10
11 $enc = CBOR::XS::encode_cbor_sharing [(bless [], CBOR::XS::freeze::) x 3];
12 print $enc eq (pack "H*", "83d81cd81a825043424f523a3a58533a3a667265657a65184dd81d00d81d00") ? "" : "not ", "ok 2 ", (unpack "H*", $enc), "\n";
13
14 $enc = CBOR::XS->new->allow_sharing->encode ([(bless [], CBOR::XS::freeze::) x 3]);
15 print $enc eq (pack "H*", "83d81cd81a825043424f523a3a58533a3a667265657a65184dd81d00d81d00") ? "" : "not ", "ok 3 ", (unpack "H*", $enc), "\n";
16
17 $dec = decode_cbor $enc;
18 print @$dec == 3 ? "" : "not ", "ok 4 # $dec\n";
19 print ref $dec->[0] ? "" : "not ", "ok 5 # $dec->[0]\n";
20 print $dec->[0] == $dec->[2] ? "" : "not ", "ok 6 # $dec->[0] == $dec->[2]\n";
21
22 $enc = eval { CBOR::XS::decode_cbor pack "H*", "d81c81d81d00" };
23
24 print defined $enc ? "not " : "", "ok 7\n";
25 print $@ =~ /^cyclic / ? "" : "not ", "ok 8\n";
26
27 $dec = CBOR::XS->new->allow_cycles->decode (pack "H*", "d81c81d81d00");
28
29 print ARRAY:: eq ref $dec ? "" : "not ", "ok 9\n";
30 print $dec == $dec->[0] ? "" : "not ", "ok 10\n";
31
32 print "ok 11\n";
33