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   133784 use strict;
  68         145  
  68         2680  
3 68     68   1472 use warnings;
  68         137  
  68         4443  
4 68     68   392 use Carp ();
  68         169  
  68         34420  
5              
6             sub new {
7 11     11 0 293243 my($class, %args) = @_;
8              
9             bless {
10             headers => $args{headers},
11             tempname => $args{tempname},
12             size => $args{size},
13             filename => $args{filename},
14 11         104 }, $class;
15             }
16              
17 3     3 1 2159 sub filename { $_[0]->{filename} }
18 0     0 0 0 sub headers { $_[0]->{headers} }
19 1     1 1 30 sub size { $_[0]->{size} }
20 2     2 0 63 sub tempname { $_[0]->{tempname} }
21 7     7 1 1336 sub path { $_[0]->{tempname} }
22              
23             sub content_type {
24 1     1 1 2 my $self = shift;
25 1         11 $self->{headers}->content_type(@_);
26             }
27              
28 0     0 0 0 sub type { shift->content_type(@_) }
29              
30             sub basename {
31 2     2 1 9 my $self = shift;
32 2 50       13 unless (defined $self->{basename}) {
33 2         16 require File::Spec::Unix;
34 2         6 my $basename = $self->{filename};
35 2         15 $basename =~ s|\\|/|g;
36 2         52 $basename = ( File::Spec::Unix->splitpath($basename) )[2];
37 2         10 $basename =~ s|[^\w\.-]+|_|g;
38 2         6 $self->{basename} = $basename;
39             }
40 2         11 $self->{basename};
41             }
42              
43             1;
44             __END__