# $Id: 20-a.t,v 1.1 2003/11/18 08:27:29 ctriv Exp $
use Test::More tests => 7503;
use Regexp::Common qw/dns/;
use strict;
#
# This is already tested by Regexp::Common, but I'm putting a few extra tests in...
#
my $re = $RE{'dns'}{'data'}{'a'};
for (0..2500) {
my $ip = random_ip();
like($ip, "/^$re\$/", "$ip matches");
$ip =~ m/^$re->{'-keep'}$/;
is($1, $ip, "\$1 is $ip");
}
for (0..2500) {
my $ip = random_bad_ip();
unlike($ip, "/^$re\$/", "$ip does not match");
}
sub random_ip {
return join('.',
int rand(255),
int rand(255),
int rand(255),
int rand(255),
);
}
sub random_bad_ip {
my @ip = (
int rand(255),
int rand(255) ,
int rand(255),
int rand(255),
);
for (0..rand(4)) {
$ip[rand @ip] += 256;
}
return join('.', @ip[0..rand @ip]);
}