diff options
author | Jesse Luehrs <doy@tozt.net> | 2012-07-18 16:22:08 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2012-07-18 16:22:08 -0500 |
commit | b5d66ba6e274eed251da951bb943b9ff67765290 (patch) | |
tree | 8b468f4ec6279a2d218f44d69a530c2a2476f1fc /t/upload-large.t | |
parent | bc67313aa7191255f4123ae8d89f890e2f0772bc (diff) | |
download | web-request-b5d66ba6e274eed251da951bb943b9ff67765290.tar.gz web-request-b5d66ba6e274eed251da951bb943b9ff67765290.zip |
import the Plack::Request test suite
Diffstat (limited to 't/upload-large.t')
-rw-r--r-- | t/upload-large.t | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/t/upload-large.t b/t/upload-large.t new file mode 100644 index 0000000..39e14a7 --- /dev/null +++ b/t/upload-large.t @@ -0,0 +1,33 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; +use Plack::Test; + +use HTTP::Request::Common; +use Web::Request; + +my $file = "t/data/baybridge.jpg"; + +my @backends = qw( Server MockHTTP ); +sub flip_backend { $Plack::Test::Impl = shift @backends } + +local $ENV{PLACK_SERVER} = "HTTP::Server::PSGI"; + +my $app = sub { + my $req = Web::Request->new_from_env(shift); + is $req->uploads->{image}->size, -s $file; + is $req->uploads->{image}->content_type, 'image/jpeg'; + is $req->uploads->{image}->basename, 'baybridge.jpg'; + $req->new_response(status => 200)->finalize; +}; + +test_psgi $app, sub { + my $cb = shift; + $cb->(POST "/", Content_Type => 'form-data', Content => [ + image => [ $file ], + ]); +} while flip_backend; + +done_testing; + |