# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl test.pl'
######################### We start with some black magic to print on failure.
# Change 1..1 below to 1..last_test_to_print .
# (It may become useful if the test is moved to ./t subdirectory.)
$| = 1;
END {print "1..1\nnot ok 1\n" unless $test;}
use NetAddr::IP::Util qw(
ipv6_aton
ipv6_n2x
);
$test = 1;
sub ok {
print "ok $test\n";
++$test;
}
my @addr =
qw( :: 0:0:0:0:0:0:0:0
::: undef
foo undef
::foo undef
foo:: undef
abc::def::9 undef
abcd1:: undef
abcd:: abcd:0:0:0:0:0:0:0
::abcde undef
:a:b:c:d:1:2:3:4 undef
:a:b:c:d undef
a:b:c:d:1:2:3:4: undef
a:b:c:d:1:2:3:4:: undef
::a:b:c:d:1:2:3:4 undef
::a:b:c:d:1:2:3 0:a:b:c:d:1:2:3
::a:b:c:d:1:2:3: undef
:a:b:c:d:1:2:3:: undef
a:b:c:d:1:2:3:: a:b:c:d:1:2:3:0
);
my $x = @addr/2;
# notify TEST about number of tests
# Insert your test code below (better if it prints "ok 13"
# (correspondingly "not ok 13") depending on the success of chunk 13
# of the test code):
print '1..',$x,"\n";
for ($x = 0;$x <= $#addr; $x+=2) {
my $bstr = ipv6_aton($addr[$x]);
if ($addr[$x +1] =~ /undef/) {
print "unexpected return value for $addr[$x]: $_\nnot "
if ($_ = ipv6_aton && (ipv6_n2x($_) || 'not defined'));
} else {
my $rv = ipv6_aton($addr[$x]);
unless ($rv) {
print "got undefined value for $addr[$x]\nnot ";
}
else {
$rv = ipv6_n2x($rv) || 'not defined';
print "got: $rv, exp: $addr[$x +1]\nnot "
unless $rv eq uc $addr[$x +1];
}
}
&ok;
}