File Coverage

lib/PDF/WebKit/Source.pm
Criterion Covered Total %
statement 21 21 100.0
branch 2 2 100.0
condition 6 6 100.0
subroutine 8 8 100.0
pod 0 4 0.0
total 37 41 90.2


line stmt bran cond sub pod time code
1             package PDF::WebKit::Source;
2 3     3   10 use strict;
  3         4  
  3         71  
3 3     3   8 use warnings;
  3         4  
  3         43  
4              
5 3     3   9 use Moo;
  3         4  
  3         14  
6 3     3   580 use namespace::clean;
  3         7  
  3         21  
7              
8             has string => ( is => 'rw' );
9              
10             around 'BUILDARGS' => sub {
11             my $orig = shift;
12             my $class = shift;
13             if (@_ != 1) {
14             die "Usage: ${class}->new(\$source)\n";
15             }
16              
17             my $string = shift;
18             return $class->$orig({ string => $string });
19             };
20              
21             sub is_url {
22 25     25 0 175 my $self = shift;
23 25   100     150 return (!ref($self->string) && $self->string =~ /^https?:/i);
24             }
25              
26             sub is_file {
27 4     4 0 117 my $self = shift;
28 4   100     20 return (!ref($self->string) && !$self->is_url);
29             }
30              
31             sub is_html {
32 13     13 0 129 my $self = shift;
33 13         46 return ref($self->string) eq 'SCALAR';
34             }
35              
36             sub content {
37 8     8 0 91 my $self = shift;
38 8 100       31 return ref($self->string) ? ${$self->string} : $self->string;
  2         12  
39             }
40              
41             1;
42