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 4     4   53071 use strict;
  4         15  
  4         128  
4 4     4   50 use warnings;
  4         7  
  4         1474  
5              
6             our $VERSION = '2.17';
7              
8             #ABSTRACT: Image object for WWW::Mechanize
9              
10              
11             sub new {
12 40     40 1 201 my $class = shift;
13 40   50     86 my $params = shift || {};
14              
15 40         69 my $self = bless {}, $class;
16              
17 40         72 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 320 100       680 $self->{$param} = $params->{$param} if exists $params->{$param};
21             }
22              
23             # url and tag are always required
24 40         69 for (qw( url tag )) {
25 80 50       142 exists $self->{$_}
26             or die "WWW::Mechanize::Image->new must have a $_ argument";
27             }
28              
29 40         142 return $self;
30             }
31              
32              
33 407     407 1 61390 sub url { return ( $_[0] )->{url}; }
34 126     126 1 305 sub base { return ( $_[0] )->{base}; }
35 1     1 1 3 sub name { return ( $_[0] )->{name}; }
36 189     189 1 1256 sub tag { return ( $_[0] )->{tag}; }
37 7     7 1 134 sub height { return ( $_[0] )->{height}; }
38 2     2 1 8 sub width { return ( $_[0] )->{width}; }
39 76     76 1 538 sub alt { return ( $_[0] )->{alt}; }
40 299     299 1 2559 sub attrs { return ( $_[0] )->{attrs}; }
41              
42              
43             sub URI {
44 125     125 1 1333 my $self = shift;
45              
46 125         1181 require URI::URL;
47 125         9213 my $URI = URI::URL->new( $self->url, $self->base );
48              
49 125         20951 return $URI;
50             }
51              
52              
53             sub url_abs {
54 123     123 1 16780 my $self = shift;
55              
56 123         223 return $self->URI->abs;
57             }
58              
59              
60             1;
61              
62             __END__