File Coverage

blib/lib/Plack/Request/Upload.pm
Criterion Covered Total %
statement 26 28 92.8
branch 1 2 50.0
condition n/a
subroutine 10 12 83.3
pod 5 9 55.5
total 42 51 82.3


line stmt bran cond sub pod time code
1             package Plack::Request::Upload;
2 68     68   77189 use strict;
  68         977  
  68         1935  
3 68     68   281 use warnings;
  68         106  
  68         2497  
4 68     68   270 use Carp ();
  68         115  
  68         27415  
5              
6             sub new {
7 11     11 0 176014 my($class, %args) = @_;
8              
9             bless {
10             headers => $args{headers},
11             tempname => $args{tempname},
12             size => $args{size},
13             filename => $args{filename},
14 11         62 }, $class;
15             }
16              
17 3     3 1 1259 sub filename { $_[0]->{filename} }
18 0     0 0 0 sub headers { $_[0]->{headers} }
19 1     1 1 26 sub size { $_[0]->{size} }
20 2     2 0 42 sub tempname { $_[0]->{tempname} }
21 7     7 1 871 sub path { $_[0]->{tempname} }
22              
23             sub content_type {
24 1     1 1 2 my $self = shift;
25 1         8 $self->{headers}->content_type(@_);
26             }
27              
28 0     0 0 0 sub type { shift->content_type(@_) }
29              
30             sub basename {
31 2     2 1 8 my $self = shift;
32 2 50       8 unless (defined $self->{basename}) {
33 2         12 require File::Spec::Unix;
34 2         3 my $basename = $self->{filename};
35 2         11 $basename =~ s|\\|/|g;
36 2         36 $basename = ( File::Spec::Unix->splitpath($basename) )[2];
37 2         6 $basename =~ s|[^\w\.-]+|_|g;
38 2         5 $self->{basename} = $basename;
39             }
40 2         8 $self->{basename};
41             }
42              
43             1;
44             __END__