X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FEngine%2FTest.pm;h=779a636e1344bb2522da15c2da66f8eb9c8e4d50;hb=5b2a599c524b51bc64bc3f3ff22297e6fa86f441;hp=102c8c95c402546b17adf1188f6497f50d28a45b;hpb=146554c575f7f9fda102985196e0b6b364847bc0;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Engine/Test.pm b/lib/Catalyst/Engine/Test.pm index 102c8c9..779a636 100644 --- a/lib/Catalyst/Engine/Test.pm +++ b/lib/Catalyst/Engine/Test.pm @@ -49,6 +49,15 @@ This class overloads some methods from C. =over 4 +=item $c->finalize_body + +=cut + +sub finalize_body { + my $c = shift; + $c->http->response->content( $c->response->body ); +} + =item $c->finalize_headers =cut @@ -63,13 +72,13 @@ sub finalize_headers { } } -=item $c->finalize_output +=item $c->prepare_body =cut -sub finalize_output { +sub prepare_body { my $c = shift; - $c->http->response->content( $c->response->output ); + $c->request->body( $c->http->request->content ); } =item $c->prepare_connection @@ -122,25 +131,26 @@ sub prepare_parameters { my $fh = File::Temp->new( UNLINK => 0 ); $fh->write( $part->content ) or die $!; + $fh->flush or die $!; my $upload = Catalyst::Request::Upload->new( filename => $parameters{filename}, - size => ( stat $fh )[7], + size => ( $fh->stat )[7], tempname => $fh->filename, type => $part->content_type ); - + $fh->close; push( @uploads, $parameters{name}, $upload ); - push( @params, $parameters{name}, $fh ); + push( @params, $parameters{name}, $parameters{filename} ); } else { push( @params, $parameters{name}, $part->content ); } } } - + $c->req->_assign_values( $c->req->parameters, \@params ); $c->req->_assign_values( $c->req->uploads, \@uploads ); }