stop using Moo as a test package
[catagits/Catalyst-Runtime.git] / t / lib / TestApp.pm
index 25203e1..bb88a73 100644 (file)
@@ -11,6 +11,7 @@ use Catalyst qw/
     +TestApp::Role
 /;
 use Catalyst::Utils;
+use Class::Load 'try_load_class';
 
 use Moose;
 use namespace::autoclean;
@@ -49,7 +50,9 @@ TestApp->config(
         action_args => {
             action_action_nine => { another_extra_arg => 13 }
         }
-    }
+    },
+    encoding => 'UTF-8',
+    abort_chain_on_error_fix => 1,
 );
 
 # Test bug found when re-adjusting the metaclass compat code in Moose
@@ -57,7 +60,7 @@ TestApp->config(
 # above ->setup so we have some generated methods to be double sure.
 has an_attribute_before_we_change_base_classes => ( is => 'ro');
 
-if ($::setup_leakchecker && eval { Class::MOP::load_class('CatalystX::LeakChecker'); 1 }) {
+if ($::setup_leakchecker && try_load_class('CatalystX::LeakChecker')) {
     with 'CatalystX::LeakChecker';
 
     has leaks => (
@@ -124,6 +127,21 @@ sub finalize_error {
     sub Catalyst::Log::error { }
 }
 
+# Pretend to be Plugin::Session and hook finalize_headers to send a header
+
+sub finalize_headers {
+    my $c = shift;
+
+    $c->res->header('X-Test-Header', 'valid');
+
+    my $call_count = $c->stash->{finalize_headers_call_count} || 0;
+    $call_count++;
+    $c->stash(finalize_headers_call_count => $call_count);
+    $c->res->header('X-Test-Header-Call-Count' => $call_count);
+
+    return $c->maybe::next::method(@_);
+}
+
 # Make sure we can load Inline plugins. 
 
 package Catalyst::Plugin::Test::Inline;