1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
use NetAddr::IP;
#require "IP.pm";
my @a = (
[ 'localhost', '127.0.0.1' ],
[ 0x01010101, '1.1.1.1' ],
[ 1, '0.0.0.1' ],
[ 'default', '0.0.0.0' ],
);
my @m = (
[ 0, '0.0.0.0' ],
[ 1, '128.0.0.0' ],
[ 2, '192.0.0.0' ],
[ 4, '240.0.0.0' ],
[ 8, '255.0.0.0' ],
[ 16, '255.255.0.0' ],
[ 17, '255.255.128.0' ],
[ 24, '255.255.255.0' ],
[ 'default', '0.0.0.0' ],
[ 32, '255.255.255.255' ],
[ 0xffffff00, '255.255.255.0' ],
[ '255.255.128.0', '255.255.128.0' ],
[ 0b11111111111111110000000000000000, '255.255.0.0' ],
);
$| = 1;
print '1..', (2 * scalar @a * scalar @m), "\n";
my $count = 1;
for my $a (@a) {
for my $m (@m) {
my $ip = new NetAddr::IP $a->[0], $m->[0];
if ($ip->addr eq $a->[1]) {
print "ok ", $count++, "\n";
}
else {
print "not ok ", $count++, "\n";
}
if ($ip->mask eq $m->[1]) {
print "ok ", $count++, "\n";
}
else {
print "not ok ", $count++, "\n";
}
# print "mask=", $ip->mask, "\n";
}
}
|