1 |
BEGIN { $| = 1; print "1..4\n"; } |
2 |
|
3 |
# various bugs fixed after 1.0 |
4 |
|
5 |
use common::sense; |
6 |
use Convert::BER::XS ':all'; |
7 |
|
8 |
our $test; |
9 |
sub ok($;$) { |
10 |
print $_[0] ? "" : "not ", "ok ", ++$test, " # $_[1]\n"; |
11 |
} |
12 |
|
13 |
my ($bin, $ber); |
14 |
|
15 |
# length 127 |
16 |
$bin = ber_encode [0, ASN_OCTET_STRING, 0, "\x01" x 127]; |
17 |
ok ($bin =~ /^\x04\x7f\x01{127}$/s, unpack "H*", $bin); |
18 |
$ber = ber_decode $bin; |
19 |
ok (127 == length $ber->[BER_DATA]); |
20 |
|
21 |
# internal 0-octet in length |
22 |
$bin = ber_encode [0, ASN_OCTET_STRING, 0, "\x01" x 0x10013]; |
23 |
ok ($bin =~ /^\x04\x83\x01\x00\x13\x01.*$/s, unpack "H*", substr $bin, 0, 64); |
24 |
$ber = ber_decode $bin; |
25 |
ok (0x10013 == length $ber->[BER_DATA]); |