Yet another 5.80 regression
[catagits/Catalyst-Runtime.git] / t / lib / Catalyst / Plugin / Test / Plugin.pm
index 8440966..809a13a 100644 (file)
@@ -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) = @_;
 }