| 1 |
root |
1.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 |
|
|
|