use strict;
use Test;
BEGIN { plan test => 25; }
use Net::IPv6Addr;
ok(1);
my @x;
# Test ipv6_parse_preferred, garbage input.
eval { @x = Net::IPv6Addr::ipv6_parse_preferred("nathan jones"); };
ok($@);
ok($@, qr/invalid address/);
# Test ipv6_parse_preferred, too many :
eval { @x = Net::IPv6Addr::ipv6_parse_preferred("0:1:2:3:4:5:6:7:8"); };
ok($@);
ok($@, qr/invalid address/);
# Test ipv6_parse_preferred, not enough :
eval { @x = Net::IPv6Addr::ipv6_parse_preferred("0:1:2:3:4:5:6"); };
ok($@);
ok($@, qr/invalid address/);
# Test ipv6_parse_preferred, bad digits.
eval { @x = Net::IPv6Addr::ipv6_parse_preferred("0:1:2:3:4:5:6:x"); };
ok($@);
ok($@, qr/invalid address/);
# Test ipv6_parse_preferred, adjacent :
eval { @x = Net::IPv6Addr::ipv6_parse_preferred("0:1:2:3:4:5:6::7"); };
ok($@);
ok($@, qr/invalid address/);
# Test ipv6_parse_preferred, too many digits.
eval { @x = Net::IPv6Addr::ipv6_parse_preferred("0:1:2:3:4:5:6:789ab"); };
ok($@);
ok($@, qr/invalid address/);
# Test ipv6_parse_preferred, : on boundary.
eval { @x = Net::IPv6Addr::ipv6_parse_preferred(":0:1:2:3:4:5:6"); };
ok($@);
ok($@, qr/invalid address/);
eval { @x = Net::IPv6Addr::ipv6_parse_preferred("0:1:2:3:4:5:6:"); };
ok($@);
ok($@, qr/invalid address/);
# Test ipv6_parse_preferred, with good stuff.
@x = Net::IPv6Addr::ipv6_parse_preferred("0:1:2:3:4:5:6:7");
for my $i (0..7) { ok($x[$i], $i); }