X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Flib%2FCatalyst%2FPlugin%2FTest%2FPlugin.pm;fp=t%2Flib%2FCatalyst%2FPlugin%2FTest%2FPlugin.pm;h=809a13a509338e2c0430ecfbb4c19b3b471cfba9;hp=84409662e76c2cadc5db2ee8daed15a9a329225b;hb=b1e0cb6d4ded3d4223517d4adce6caef23112946;hpb=fa7bd552b7b517b2e043f1e6ac1c7f71a1b27440 diff --git a/t/lib/Catalyst/Plugin/Test/Plugin.pm b/t/lib/Catalyst/Plugin/Test/Plugin.pm index 8440966..809a13a 100644 --- a/t/lib/Catalyst/Plugin/Test/Plugin.pm +++ b/t/lib/Catalyst/Plugin/Test/Plugin.pm @@ -1,6 +1,8 @@ package Catalyst::Plugin::Test::Plugin; use strict; +use warnings; +use Class::C3; use base qw/Catalyst::Base Class::Data::Inheritable/; @@ -25,6 +27,24 @@ sub prepare { } +# Note: This is horrible, but Catalyst::Plugin::Server forces the body to +# be parsed, by calling the $c->req->body method in prepare_action. +# We need to test this, as this was broken by 5.80. See also +# t/aggregate/live_engine_request_body.t. Better ways to test this +# appreciated if you have suggestions :) +{ + my $have_req_body = 0; + sub prepare_action { + my $c = shift; + $have_req_body++ if $c->req->body; + $c->next::method(@_); + } + sub have_req_body_in_prepare_action : Local { + my ($self, $c) = @_; + $c->res->body($have_req_body); + } +} + sub end : Private { my ($self,$c) = @_; }