File: v4-range.t

package info (click to toggle)
libnetaddr-ip-perl 4.079%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, stretch
  • size: 1,580 kB
  • ctags: 251
  • sloc: perl: 1,417; cpp: 67; sh: 51; makefile: 9
file content (48 lines) | stat: -rw-r--r-- 1,571 bytes parent folder | download | duplicates (6)
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
use NetAddr::IP::Lite;

use Test::More;

my @ranges = (
	      [ '10.0.0.0/8', '10.0.0.0', '10.255.255.255' ],
	      [ '192.168.0.0/16', '192.168.0.0', '192.168.255.255' ],
	      );

my @weird = (
	     [ '128.111.12.0', '128.111.12.129' ],
	     );

plan tests => 6 * @ranges + 2 * @weird + 28;

for my $r (@ranges) {
    my $r1 = new NetAddr::IP::Lite $r->[1] . '-' . $r->[2];
    isa_ok($r1, 'NetAddr::IP::Lite');
    is($r1, $r->[0], "Correct interpretation (with space)");

    $r1 = new NetAddr::IP::Lite $r->[1] . ' - ' . $r->[2];
    isa_ok($r1, 'NetAddr::IP::Lite');
    is($r1, $r->[0], "Correct interpretation (w/o space)");

    $r1 = new NetAddr::IP::Lite $r->[0];
    isa_ok($r1, 'NetAddr::IP::Lite');
    is($r1->range, $r->[1] . ' - ' . $r->[2], "Correct reverse");
}

for my $r (@weird)
{
    my $r1 = new NetAddr::IP::Lite $r->[0] . '-' . $r->[1];
    ok(! defined $r1, "Weird range w/o space produces undef");
    $r1 = new NetAddr::IP::Lite $r->[0] . ' - ' . $r->[1];
    ok(! defined $r1, "Weird range with space produces undef");
}

for my $o (254, 252, 248, 240, 224, 192, 128)
{
    my $r1 = new NetAddr::IP::Lite '0.0.0.0 - ' . $o . '.0.0.0';
    ok(! defined $r1, "Weird $o range, first octet");
    $r1 = new NetAddr::IP::Lite '0.0.0.0 - 0.' . $o . '.0.0';
    ok(! defined $r1, "Weird $o range, second octet");
    $r1 = new NetAddr::IP::Lite '0.0.0.0 - 0.0.' . $o . '.0';
    ok(! defined $r1, "Weird $o range, third octet");
    $r1 = new NetAddr::IP::Lite '0.0.0.0 - 0.0.0.' . $o;
    ok(! defined $r1, "Weird $o range, fourth octet");
}