BEGIN { $| = 1; print "1..4\n"; }

# various bugs fixed after 1.0

use common::sense;
use Convert::BER::XS ':all';

our $test;
sub ok($;$) {
   print $_[0] ? "" : "not ", "ok ", ++$test, " # $_[1]\n";
}

my ($bin, $ber);

# length 127
$bin = ber_encode [0, ASN_OCTET_STRING,  0, "\x01" x 127];
ok ($bin =~ /^\x04\x7f\x01{127}$/s, unpack "H*", $bin);
$ber = ber_decode $bin;
ok (127 == length $ber->[BER_DATA]);

# internal 0-octet in length
$bin = ber_encode [0, ASN_OCTET_STRING,  0, "\x01" x 0x10013];
ok ($bin =~ /^\x04\x83\x01\x00\x13\x01.*$/s, unpack "H*", substr $bin, 0, 64);
$ber = ber_decode $bin;
ok (0x10013 == length $ber->[BER_DATA]);
