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
|
use strict;
use Test::More tests => 9;
use Module::Build;
#1
BEGIN { use_ok('WebService::CIA::Parser'); }
#2
my $parser = WebService::CIA::Parser->new();
ok( defined $parser, 'new() returns something' );
#3
ok( $parser->isa('WebService::CIA::Parser'), 'new() returns a WebService::CIA::Parser object' );
my $data = $parser->parse('zz', q(
<tr class="eur_light">
<td width="450" height="20">
<div class="category" style="padding-left:5px;" id="field">
<a href="something" title="Notes and Definitions: Test"> Test:</a>
</div>
</td>
</tr>
<tr height="22">
<td colspan="2" id="data">
<div class="category_data">Wombat</div>
));
#4
ok( exists $data->{Test} &&
$data->{Test} eq 'Wombat', 'parse() - sets field data correctly' );
#5
ok( exists $data->{URL} &&
$data->{URL} eq $WebService::CIA::base_url . 'geos/zz.html', 'parse() - sets URL data correctly' );
SKIP: {
skip 'Skipping internet-based tests - set TEST_INTERNET to run these tests', 4 if ! $ENV{ TEST_INTERNET };
require LWP::UserAgent;
require Crypt::SSLeay;
my $ua = LWP::UserAgent->new();
my $data = $parser->parse( 'uk', '' );
for ( "URL - Flag", "URL - Map", "URL", "URL - Print" ) {
my $resp = $ua->get( $data->{ $_ } );
is( $resp->code, 200, "$_ OK" );
}
}
|