File Coverage

blib/lib/WWW/Mechanize/Image.pm
Criterion Covered Total %
statement 28 28 100.0
branch 3 4 75.0
condition 1 2 50.0
subroutine 13 13 100.0
pod 11 11 100.0
total 56 58 96.5


line stmt bran cond sub pod time code
1             package WWW::Mechanize::Image;
2              
3 5     5   91079 use strict;
  5         8  
  5         207  
4 5     5   28 use warnings;
  5         6  
  5         2010  
5              
6             our $VERSION = '2.21';
7              
8             #ABSTRACT: Image object for WWW::Mechanize
9              
10              
11             sub new {
12 42     42 1 326550 my $class = shift;
13 42   50     72 my $params = shift || {};
14              
15 42         55 my $self = bless {}, $class;
16              
17 42         76 for my $param (qw( url base tag height width alt name attrs )) {
18              
19             # Check for what we passed in, not whether it's defined
20 336 100       580 $self->{$param} = $params->{$param} if exists $params->{$param};
21             }
22              
23             # url and tag are always required
24 42         52 for (qw( url tag )) {
25 84 50       183 exists $self->{$_}
26             or die "WWW::Mechanize::Image->new must have a $_ argument";
27             }
28              
29 42         128 return $self;
30             }
31              
32              
33 409     409 1 48361 sub url { return ( $_[0] )->{url}; }
34 126     126 1 259 sub base { return ( $_[0] )->{base}; }
35 1     1 1 4 sub name { return ( $_[0] )->{name}; }
36 189     189 1 927 sub tag { return ( $_[0] )->{tag}; }
37 7     7 1 94 sub height { return ( $_[0] )->{height}; }
38 2     2 1 8 sub width { return ( $_[0] )->{width}; }
39 76     76 1 352 sub alt { return ( $_[0] )->{alt}; }
40 299     299 1 2091 sub attrs { return ( $_[0] )->{attrs}; }
41              
42              
43             sub URI {
44 125     125 1 1586 my $self = shift;
45              
46 125         1419 require URI::URL;
47 125         10093 my $URI = URI::URL->new( $self->url, $self->base );
48              
49 125         20128 return $URI;
50             }
51              
52              
53             sub url_abs {
54 123     123 1 11082 my $self = shift;
55              
56 123         191 return $self->URI->abs;
57             }
58              
59              
60             1;
61              
62             __END__