Newer
Older
NetAddr-IP / Lite / t / v4-no_octal.t
@Michael Robinton Michael Robinton on 21 Oct 2014 1 KB Import of MIKER/NetAddr-IP-4.013 from CPAN.
  1. use NetAddr::IP::Lite;
  2. *_no_octal = \&NetAddr::IP::Lite::_no_octal;
  3.  
  4. use Test::More;
  5.  
  6. my @ranges = (
  7. [ '10.0.0.0/8', '10.0.0.0', '10.255.255.255' ],
  8. [ '192.68.0.0/16', '192.068.0.0', '192.068.255.255' ],
  9. );
  10.  
  11. my @weird = (
  12. [ '128.111.12.0', '128.111.12.129' ],
  13. );
  14.  
  15. plan tests => 6 * @ranges + 2 * @weird + 28;
  16.  
  17. for my $r (@ranges) {
  18. my $r1 = new_no NetAddr::IP::Lite $r->[1] . '-' . $r->[2];
  19. isa_ok($r1, 'NetAddr::IP::Lite');
  20. is($r1, $r->[0], "Correct interpretation (with space)");
  21.  
  22. $r1 = new_no NetAddr::IP::Lite $r->[1] . ' - ' . $r->[2];
  23. isa_ok($r1, 'NetAddr::IP::Lite');
  24. is($r1, $r->[0], "Correct interpretation (w/o space)");
  25.  
  26. $r1 = new_no NetAddr::IP::Lite $r->[0];
  27. isa_ok($r1, 'NetAddr::IP::Lite');
  28. my @rev = (undef,_no_octal($r->[1]),_no_octal($r->[2]));
  29. is($r1->range, $rev[1] . ' - ' . $rev[2], "Correct reverse");
  30. }
  31.  
  32. for my $r (@weird)
  33. {
  34. my $r1 = new_no NetAddr::IP::Lite $r->[0] . '-' . $r->[1];
  35. ok(! defined $r1, "Weird range w/o space produces undef");
  36. $r1 = new_no NetAddr::IP::Lite $r->[0] . ' - ' . $r->[1];
  37. ok(! defined $r1, "Weird range with space produces undef");
  38. }
  39.  
  40. for my $o (254, 252, 248, 240, 224, 192, 128)
  41. {
  42. my $r1 = new_no NetAddr::IP::Lite '0.0.0.0 - ' . $o . '.0.0.0';
  43. ok(! defined $r1, "Weird $o range, first octet");
  44. $r1 = new_no NetAddr::IP::Lite '0.0.0.0 - 0.' . $o . '.0.0';
  45. ok(! defined $r1, "Weird $o range, second octet");
  46. $r1 = new_no NetAddr::IP::Lite '0.0.0.0 - 0.0.' . $o . '.0';
  47. ok(! defined $r1, "Weird $o range, third octet");
  48. $r1 = new_no NetAddr::IP::Lite '0.0.0.0 - 0.0.0.' . $o;
  49. ok(! defined $r1, "Weird $o range, fourth octet");
  50. }