stop using Moo as a test package
[catagits/Catalyst-Runtime.git] / t / lib / TestApp / View / Dump.pm
index a59e417..016df81 100644 (file)
@@ -7,23 +7,26 @@ use Data::Dumper ();
 use Scalar::Util qw(blessed weaken);
 
 sub dump {
-    my ( $self, $reference ) = @_;
+    my ( $self, $reference, $purity ) = @_;
 
     return unless $reference;
 
+    $purity = defined $purity ? $purity : 1;
+
     my $dumper = Data::Dumper->new( [$reference] );
     $dumper->Indent(1);
-    $dumper->Purity(1);
+    $dumper->Purity($purity);
     $dumper->Useqq(0);
     $dumper->Deepcopy(1);
-    $dumper->Quotekeys(0);
+    $dumper->Quotekeys(1);
     $dumper->Terse(1);
 
+    local $SIG{ __WARN__ } = sub { warn unless $_[ 0 ] =~ m{dummy} };
     return $dumper->Dump;
 }
 
 sub process {
-    my ( $self, $c, $reference ) = @_;
+    my ( $self, $c, $reference, $purity ) = @_;
 
     # Force processing of on-demand data
     $c->prepare_body;
@@ -36,8 +39,14 @@ sub process {
     # Remove context from reference if needed
     my $context = delete $reference->{_context};
 
+    my $env = delete $reference->{env};
+
+    if (my $log = $reference->{_log}) {
+        $log->clear_psgi if ($log->can('psgienv'));
+    }
+
     if ( my $output =
-        $self->dump( $reference ) )
+        $self->dump( $reference, $purity ) )
     {
 
         $c->res->headers->content_type('text/plain');
@@ -55,6 +64,8 @@ sub process {
             $reference->{_body} = $body;
         }
 
+        if($env) { $reference->{env} = $env }
+
         return 1;
     }