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   133948 use strict;
  5         29  
  5         254  
4 5     5   31 use warnings;
  5         13  
  5         2626  
5              
6             our $VERSION = '2.20';
7              
8             #ABSTRACT: Image object for WWW::Mechanize
9              
10              
11             sub new {
12 42     42 1 435795 my $class = shift;
13 42   50     101 my $params = shift || {};
14              
15 42         77 my $self = bless {}, $class;
16              
17 42         86 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       786 $self->{$param} = $params->{$param} if exists $params->{$param};
21             }
22              
23             # url and tag are always required
24 42         70 for (qw( url tag )) {
25 84 50       185 exists $self->{$_}
26             or die "WWW::Mechanize::Image->new must have a $_ argument";
27             }
28              
29 42         176 return $self;
30             }
31              
32              
33 409     409 1 60273 sub url { return ( $_[0] )->{url}; }
34 126     126 1 312 sub base { return ( $_[0] )->{base}; }
35 1     1 1 6 sub name { return ( $_[0] )->{name}; }
36 189     189 1 1112 sub tag { return ( $_[0] )->{tag}; }
37 7     7 1 1427 sub height { return ( $_[0] )->{height}; }
38 2     2 1 11 sub width { return ( $_[0] )->{width}; }
39 76     76 1 513 sub alt { return ( $_[0] )->{alt}; }
40 299     299 1 2447 sub attrs { return ( $_[0] )->{attrs}; }
41              
42              
43             sub URI {
44 125     125 1 2218 my $self = shift;
45              
46 125         1882 require URI::URL;
47 125         12579 my $URI = URI::URL->new( $self->url, $self->base );
48              
49 125         24946 return $URI;
50             }
51              
52              
53             sub url_abs {
54 123     123 1 13938 my $self = shift;
55              
56 123         218 return $self->URI->abs;
57             }
58              
59              
60             1;
61              
62             __END__