1# -*- perl -*- 2 3# t/002_parsecosmosxml.t - checks loading cosmos api query and results parsing 4 5use Test::More tests => 5; 6use XML::XPath; 7use XML::Parser; 8use WebService::Technorati; 9use FindBin qw($Bin); 10 11my $apiKey = 'a_key_that_wont_work_with_a_live_query'; 12my $url = 'http://www.arachna.com/roller/page/spidaman'; 13my $t = WebService::Technorati->new(key => $apiKey); 14my $cq = $t->getCosmosApiQuery($url); 15 16my $parser = new XML::Parser(NoLWP => 1); 17my $result_xp = XML::XPath->new( 18 parser => $parser, 19 filename => "$Bin/testdata/cosmos.xml"); 20$cq->readResults($result_xp); 21 22my $linkquery = $cq->getLinkQuerySubject(); 23isa_ok($linkquery, 'WebService::Technorati::LinkQuerySubject'); 24my @links = $cq->getInboundLinks(); 25is(19, $#links); 26my $link = pop(@links); 27isa_ok($link, 'WebService::Technorati::BlogLink'); 28 29 30$result_xp = XML::XPath->new( 31 parser => $parser, 32 filename => "$Bin/testdata/cosmos-nonblog.xml"); 33$linkquery = $cq->getLinkQuerySubject(); 34isa_ok($linkquery, 'WebService::Technorati::LinkQuerySubject'); 35@links = $cq->getInboundLinks(); 36is(19, $#links); 37 38