$part->{filename} = $filename;
if ( $filename ne "" ) {
- my $suffix = $filename =~ /[^.]+(\..+)$/ ? $1 : q{};
+ my $suffix = $filename =~ /[^.]+(\.[^\\\/]+)$/ ? $1 : q{};
my $fh = File::Temp->new( UNLINK => 0, DIR => $self->tmpdir, SUFFIX => $suffix );
use FindBin;
use lib "$FindBin::Bin/lib";
-use Test::More tests => 4;
+use Test::More tests => 6;
use Test::Deep;
use Cwd;
$uploads->{upload}{tempname}, qr/\.foo\.txt$/,
'tempname preserves .foo.txt suffix'
);
+
+ like(
+ $uploads->{upload2}{tempname}, qr/\.txt$/,
+ 'tempname preserves .txt suffix when dir name has .'
+ );
+
+ unlike(
+ $uploads->{upload2}{tempname}, qr/\\/,
+ 'tempname only gets extension from filename, not from a directory name'
+ );
}
sub uploads_for {
\r
Some random junk\r
\r
+------------0xKhTmLbOuNdArY\r
+Content-Disposition: form-data; name="upload2"; filename="C:\Documents\foo.bar\baz.txt"\r
+Content-Type: text/plain\r
+\r
+blah blah\r
+\r
------------0xKhTmLbOuNdArY--\r
{
"User-Agent" => "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/312.1 (KHTML, like Gecko) Safari/312",
- "Content-Length" => 181,
+ "Content-Length" => 339,
"Content-Type" => "multipart/form-data; boundary=----------0xKhTmLbOuNdArY"
}