# $Id: 10-recurse.t 01-jun-2005.19:13:08 afontana Exp $ use Test::More; use strict; BEGIN { if (-e 't/online.enabled') { plan tests => 12; } else { plan skip_all => 'Online tests disabled.'; } } BEGIN { use_ok('Net::DNS::Resolver::Recurse'); } { my $res = Net::DNS::Resolver::Recurse->new; isa_ok($res, 'Net::DNS::Resolver::Recurse'); #$res->debug(1); $res->udp_timeout(60); # Hard code A.ROOT-SERVERS.NET hint ok($res->hints("198.41.0.4"), "hints() set"); ok(%{ $res->{'hints'} }, 'sanity check worked'); my $packet; # Try a domain that is a CNAME $packet = $res->query_dorecursion("www.netscape.com.","A"); ok($packet, 'got a packet'); ok(scalar $packet->answer, 'answer has RRs'); # Try a big hairy one undef $packet; $packet = $res->query_dorecursion("www.rob.com.au.","A"); ok($packet, 'got a packet'); ok(scalar $packet->answer, 'anwer section had RRs'); } # test the callback { my $res = Net::DNS::Resolver::Recurse->new; my $count; $res->recursion_callback(sub { my $packet = shift; isa_ok($packet, 'Net::DNS::Packet'); $count++; }); $res->query_dorecursion('a.t.net-dns.org', 'A'); is($count, 3); }