Blame Lite/t/v6-new-base-uri.t

Packit 0b51a0
# This -*- perl -*- code excercises the basic v6 functionality
Packit 0b51a0
Packit 0b51a0
sub mypass() {1}
Packit 0b51a0
sub myfail() {0}
Packit 0b51a0
Packit 0b51a0
@addr =
Packit 0b51a0
    (
Packit 0b51a0
     ['[::]',  3, '0:0:0:0:0:0:0:0/128',myfail],
Packit 0b51a0
     ['[::1]', 3, '0:0:0:0:0:0:0:1/128',myfail],
Packit 0b51a0
     ['[F34::123/40]', 2, 'F34:0:0:0:0:0:0:3/40',mypass],
Packit 0b51a0
     ['[DEAD:BEEF::1/40]', 2, 'DEAD:BEEF:0:0:0:0:0:3/40',mypass],
Packit 0b51a0
     ['[1000::2/40]', 0, '1000:0:0:0:0:0:0:1/40',mypass],
Packit 0b51a0
     ['[1000::2000/40]', 0, '1000:0:0:0:0:0:0:1/40',mypass],
Packit 0b51a0
     ['[DEAD::CAFE/40]', 0, 'DEAD:0:0:0:0:0:0:1/40',mypass],
Packit 0b51a0
     ['[DEAD:BEEF::1/40]', 3, 'DEAD:BEEF:0:0:0:0:0:4/40',mypass],
Packit 0b51a0
     ['[DEAD:BEEF::1/40]', 4, 'DEAD:BEEF:0:0:0:0:0:5/40',mypass],
Packit 0b51a0
     ['[DEAD:BEEF::1/40]', 5, 'DEAD:BEEF:0:0:0:0:0:6/40',mypass],
Packit 0b51a0
     ['[DEAD:BEEF::1/40]', 6, 'DEAD:BEEF:0:0:0:0:0:7/40',mypass],
Packit 0b51a0
     ['[DEAD:BEEF::1/40]', 7, 'DEAD:BEEF:0:0:0:0:0:8/40',mypass],
Packit 0b51a0
     ['[DEAD:BEEF::1/40]', 8, 'DEAD:BEEF:0:0:0:0:0:9/40',mypass],
Packit 0b51a0
     ['[DEAD:BEEF::1/40]', 254, 'DEAD:BEEF:0:0:0:0:0:FF/40',mypass],
Packit 0b51a0
     ['[DEAD:BEEF::1/40]', 255, 'DEAD:BEEF:0:0:0:0:0:100/40',mypass],
Packit 0b51a0
     ['[DEAD:BEEF::1/40]', 256, 'DEAD:BEEF:0:0:0:0:0:101/40',mypass],
Packit 0b51a0
     ['[DEAD:BEEF::1/40]', 65535, 'DEAD:BEEF:0:0:0:0:1:0/40',mypass],
Packit 0b51a0
     ['[DEAD:BEEF::1/40]', 65536, 'DEAD:BEEF:0:0:0:0:1:1/40',mypass],
Packit 0b51a0
     ['[2001:620:0:4::/64]', 0, '2001:620:0:4:0:0:0:1/64',mypass],
Packit 0b51a0
     ['[3FFE:2000:0:4::/64]', 0, '3FFE:2000:0:4:0:0:0:1/64',mypass],
Packit 0b51a0
     ['[2001:620:600::1]', 0, '2001:620:600:0:0:0:0:1/128',mypass],
Packit 0b51a0
     ['[2001:620:600:0:1::1]', 0,'2001:620:600:0:1:0:0:1/128',mypass],
Packit 0b51a0
     );
Packit 0b51a0
Packit 0b51a0
use NetAddr::IP::Lite;
Packit 0b51a0
use Test::More;
Packit 0b51a0
Packit 0b51a0
my($a, $ip, $test);
Packit 0b51a0
Packit 0b51a0
$test = 4 * @addr + 4;
Packit 0b51a0
plan tests => $test;
Packit 0b51a0
Packit 0b51a0
$test = 1;
Packit 0b51a0
Packit 0b51a0
sub tst {
Packit 0b51a0
  for $a (@addr) {
Packit 0b51a0
	$ip = new NetAddr::IP::Lite $a->[0];
Packit 0b51a0
	$a->[0] =~ s,/\d+,,;
Packit 0b51a0
	isa_ok($ip, 'NetAddr::IP::Lite', "$a->[0] ");
Packit 0b51a0
# requires full NetAddr::IP
Packit 0b51a0
#	is(uc $ip->short, $a->[0], "short returns $a->[0]");
Packit 0b51a0
	is($ip->bits, 128, "bits == 128");
Packit 0b51a0
	is($ip->version, 6, "version == 6");
Packit 0b51a0
	my $index = $a->[1];
Packit 0b51a0
	if ($a->[3]) {
Packit 0b51a0
	  is(uc $ip->nth($index), $a->[2], "nth $a->[0], $index");
Packit 0b51a0
	} else {
Packit 0b51a0
	  ok(!$ip->nth($index),"nth $a->[0], undef");
Packit 0b51a0
	}
Packit 0b51a0
 }
Packit 0b51a0
}
Packit 0b51a0
Packit 0b51a0
tst();
Packit 0b51a0
Packit 0b51a0
Packit 0b51a0
$test = new NetAddr::IP::Lite 'f34::1';
Packit 0b51a0
isa_ok($test, 'NetAddr::IP::Lite');
Packit 0b51a0
ok($test->network->contains($test), "->contains");
Packit 0b51a0
Packit 0b51a0
$test = new NetAddr::IP::Lite 'f35::1/40';
Packit 0b51a0
isa_ok($test, 'NetAddr::IP::Lite');
Packit 0b51a0
ok($test->network->contains($test), "->contains");
Packit 0b51a0