Blame t/37-NSEC3-base32.t

Packit e6c8bb
# $Id: 37-NSEC3-base32.t 1561 2017-04-19 13:08:13Z willem $	-*-perl-*-
Packit e6c8bb
#
Packit e6c8bb
Packit e6c8bb
use strict;
Packit e6c8bb
use Test::More;
Packit e6c8bb
use Net::DNS;
Packit e6c8bb
Packit e6c8bb
my @prerequisite = qw(
Packit e6c8bb
		Net::DNS::RR::NSEC3
Packit e6c8bb
		);
Packit e6c8bb
Packit e6c8bb
foreach my $package (@prerequisite) {
Packit e6c8bb
	next if eval "use $package; 1";
Packit e6c8bb
	plan skip_all => "$package not installed";
Packit e6c8bb
	exit;
Packit e6c8bb
}
Packit e6c8bb
Packit e6c8bb
plan tests => 30;
Packit e6c8bb
Packit e6c8bb
Packit e6c8bb
my %testcase = (
Packit e6c8bb
	chr(85) x 1  => 'ak',
Packit e6c8bb
	chr(85) x 2  => 'alag',
Packit e6c8bb
	chr(85) x 3  => 'alala',
Packit e6c8bb
	chr(85) x 4  => 'alalal8',
Packit e6c8bb
	chr(85) x 5  => 'alalalal',
Packit e6c8bb
	chr(85) x 6  => 'alalalalak',
Packit e6c8bb
	chr(85) x 7  => 'alalalalalag',
Packit e6c8bb
	chr(85) x 8  => 'alalalalalala',
Packit e6c8bb
	chr(85) x 9  => 'alalalalalalal8',
Packit e6c8bb
	chr(85) x 10 => 'alalalalalalalal',
Packit e6c8bb
	);
Packit e6c8bb
Packit e6c8bb
Packit e6c8bb
foreach my $binary ( sort keys %testcase ) {
Packit e6c8bb
	my $base32 = $testcase{$binary};
Packit e6c8bb
	my $encode = Net::DNS::RR::NSEC3::_encode_base32hex($binary);
Packit e6c8bb
	my $decode = Net::DNS::RR::NSEC3::_decode_base32hex($base32);
Packit e6c8bb
	is( $encode,	     $base32,	      'base32hex encode correct' );
Packit e6c8bb
	is( length($decode), length($binary), 'decode length correct' );
Packit e6c8bb
	ok( $decode eq $binary, 'base32hex decode correct' );
Packit e6c8bb
}
Packit e6c8bb
Packit e6c8bb
Packit e6c8bb
exit;
Packit e6c8bb
Packit e6c8bb
__END__
Packit e6c8bb
Packit e6c8bb