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 49 50 51 52 53 54 55 56 57 58 59 60 61
|
#!/usr/bin/perl
use strict;
use Test::More;
use lib qw( lib ../lib );
use Net::Whois::Raw;
use Net::Whois::Parser;
$Net::Whois::Parser::DEBUG = 2;
my $domain = 'reg.ru';
my $info;
plan tests => 12;
SKIP: {
skip "Build system don't have internet access", 12 if $ENV{NO_NETWORK};
my ( $raw, $server ) = whois($domain);
ok parse_whois(raw => $raw, server => $server), "parse_whois $domain, $server";
ok parse_whois(raw => $raw, domain => $domain), "parse_whois $domain, $server";
ok parse_whois(domain => $domain), "parse_whois $domain, $server";
ok !parse_whois(domain => 'iweufhweufhweufh.ru'), 'domain not exists';
$info = parse_whois(raw => $raw, server => $server);
is $info->{nameservers}->[0]->{domain}, 'ns1.reg.ru', 'reg.ru ns 1';
is $info->{nameservers}->[1]->{domain}, 'ns2.reg.ru', 'reg.ru ns 2';
is $info->{domain}, 'REG.RU', 'reg.ru domain';
$raw = "
Test 1: test
Test-2:wefwef wef
test3: value:value
test4.....: value
";
$info = parse_whois( raw => $raw, server => 'whois.ripn.net' );
ok exists $info->{'test_1'}, 'field name with spaces';
ok exists $info->{'test_2'}, 'field with -';
is $info->{'test3'}, 'value:value', 'field value with :';
is $info->{'test4'}, 'value', 'field value with :';
####
$Net::Whois::Parser::GET_ALL_VALUES = 1;
$raw = [
{ text => "test: 1" },
{ text => "tEst: 2" },
{ text => "test: 3" },
];
$info = parse_whois( raw => $raw, server => 'whois.ripn.net' );
is_deeply $info->{test}, [ 1, 2, 3], 'get_all_values is on';
}
|