1 | BEGIN { $| = 1; print "1..16\n"; } |
1 | BEGIN { $| = 1; print "1..21\n"; } |
2 | |
2 | |
3 | # none of the other tests serialise hv's, gross |
3 | # none of the other tests serialise hv's, gross |
4 | # also checks utf8_strings |
4 | # also checks text_keys/text_strings |
5 | |
5 | |
6 | use CBOR::XS; |
6 | use CBOR::XS; |
7 | |
7 | |
8 | print "ok 1\n"; |
8 | print "ok 1\n"; |
9 | |
9 | |
… | |
… | |
39 | print +(keys %$dec)[0] ne "\x{100}" ? "not " : "", "ok 12\n"; |
39 | print +(keys %$dec)[0] ne "\x{100}" ? "not " : "", "ok 12\n"; |
40 | |
40 | |
41 | $enc = encode_cbor { "\x{8f}" => undef }; |
41 | $enc = encode_cbor { "\x{8f}" => undef }; |
42 | print $enc ne (pack "H*", "a1418ff6") ? "not " : "", "ok 13\n"; |
42 | print $enc ne (pack "H*", "a1418ff6") ? "not " : "", "ok 13\n"; |
43 | |
43 | |
44 | $utf8_strings = CBOR::XS->new->utf8_strings; |
44 | $text_strings = CBOR::XS->new->text_strings; |
45 | |
45 | |
46 | $enc = $utf8_strings->encode ({ "\x{7f}" => undef }); |
46 | $enc = $text_strings->encode ({ "\x{7f}" => "\x{3f}" }); |
47 | print $enc ne (pack "H*", "a1617ff6") ? "not " : "", "ok 14\n"; |
47 | print $enc ne (pack "H*", "a1617f613f") ? "not " : "", "ok 14\n"; |
48 | |
48 | |
49 | $enc = $utf8_strings->encode ({ "\x{8f}" => undef }); |
49 | $enc = $text_strings->encode ({ "\x{8f}" => "\x{c7}" }); |
50 | print $enc ne (pack "H*", "a162c28ff6") ? "not " : "", "ok 15\n"; |
50 | print $enc ne (pack "H*", "a162c28f62c387") ? "not " : "", "ok 15\n"; |
51 | |
51 | |
|
|
52 | $enc = $text_strings->encode ({ "\x{8f}gix\x{ff}x" => "a\x{80}b\x{fe}y" }); |
|
|
53 | print $enc ne (pack "H*", "a168c28f676978c3bf786761c28062c3be79") ? "not " : "", "ok 16\n"; |
|
|
54 | |
|
|
55 | $dec = decode_cbor pack "H*", "a168c28f676978c3bf78f6"; |
|
|
56 | print +(keys %$dec)[0] ne "\x{8f}gix\x{ff}x" ? "not " : "", "ok 17\n"; |
|
|
57 | |
|
|
58 | $text_keys = CBOR::XS->new->text_keys; |
|
|
59 | |
|
|
60 | $enc = $text_keys->encode ({ "\x{7f}" => "\x{3f}" }); |
|
|
61 | print $enc ne (pack "H*", "a1617f413f") ? "not " : "", "ok 18\n"; |
|
|
62 | |
|
|
63 | $enc = $text_keys->encode ({ "\x{8f}" => "\x{c7}" }); |
|
|
64 | print $enc ne (pack "H*", "a162c28f41c7") ? "not " : "", "ok 19\n"; |
|
|
65 | |
|
|
66 | $enc = $text_keys->encode ({ "\x{8f}gix\x{ff}x" => "a\x{80}b\x{fe}y" }); |
|
|
67 | print $enc ne (pack "H*", "a168c28f676978c3bf7845618062fe79") ? "not " : "", "ok 20\n"; |
|
|
68 | |
52 | print "ok 16\n"; |
69 | print "ok 21\n"; |
|
|
70 | |