Newer
Older
NetAddr-IP / t / v4-re.t
@Michael Robinton Michael Robinton on 21 Oct 2014 826 bytes Import of MIKER/NetAddr-IP-4.020 from CPAN.
  1. use Test::More;
  2.  
  3. # $Id: v4-re.t,v 1.1.1.1 2006/08/14 15:36:06 lem Exp $
  4.  
  5. my @ips = qw!
  6. 10.11.12.13
  7. 10.11.12/24
  8. 10.11.0/27
  9. !;
  10.  
  11. plan tests => 299;
  12.  
  13. die "# Cannot continue without NetAddr::IP\n"
  14. unless use_ok('NetAddr::IP');
  15.  
  16. my @addrs = map { new NetAddr::IP $_ } @ips;
  17.  
  18. for my $a (@addrs)
  19. {
  20. isa_ok($a, 'NetAddr::IP');
  21. my $re = $a->re;
  22. my $rx;
  23.  
  24. eval { $rx = qr/$re/ };
  25. diag "Compilation of the resulting regular expression failed: $@"
  26. unless ok(!$@, "Compilation of the resulting regular expression");
  27.  
  28. for (my $ip = $a->network;
  29. $ip < $a->broadcast && $a->masklen != 32;
  30. $ip ++)
  31. {
  32. ok($a->addr =~ m/$rx/, "Match of $ip in $a");
  33. }
  34.  
  35. ok($a->broadcast->addr =~ m/$rx/, "Match of broadcast of $a");
  36. ok(NetAddr::IP->new('default') !~ m/$rx/, "0/0 does not match");
  37. }
  38.