Skip to content

Commit

Permalink
fixed tests. Added no_print_errors option
Browse files Browse the repository at this point in the history
  • Loading branch information
miyagawa committed May 5, 2010
1 parent 015f9be commit d4c9691
Show file tree
Hide file tree
Showing 6 changed files with 11 additions and 9 deletions.
6 changes: 3 additions & 3 deletions lib/Plack/Middleware/StackTrace.pm
Expand Up @@ -5,7 +5,7 @@ use parent qw/Plack::Middleware/;
use Devel::StackTrace;
use Devel::StackTrace::AsHTML;
use Try::Tiny;
use Plack::Util::Accessor qw( force );
use Plack::Util::Accessor qw( force no_print_errors );

our $StackTraceClass = "Devel::StackTrace";

Expand All @@ -26,9 +26,9 @@ sub call {
my $caught;
my $res = try { $self->app->($env) } catch { $caught = $_ };

if ($trace && ($caught || $self->{force} && ref $res eq 'ARRAY' && $res->[0] == 500) ) {
if ($trace && ($caught || ($self->force && ref $res eq 'ARRAY' && $res->[0] == 500)) ) {
my $text = trace_as_string($trace);
$env->{'psgi.errors'}->print($text);
$env->{'psgi.errors'}->print($text) unless $self->no_print_errors;
if (($env->{HTTP_ACCEPT} || '*/*') =~ /html/) {
$res = [500, ['Content-Type' => 'text/html; charset=utf-8'], [ utf8_safe($trace->as_html) ]];
} else {
Expand Down
3 changes: 2 additions & 1 deletion t/Plack-Middleware/order.t
Expand Up @@ -10,7 +10,8 @@ my $handler = builder {
};
};

my $res = $handler->(+{});
open my $io, ">", \my $err;
my $res = $handler->({ 'psgi.errors' => $io });
is $res->[0], 500;

my %hdrs = @{$res->[1]};
Expand Down
3 changes: 2 additions & 1 deletion t/Plack-Middleware/prefix.t
Expand Up @@ -10,7 +10,8 @@ my $handler = builder {
};
};

my $res = $handler->(+{});
open my $io, ">", \my $err;
my $res = $handler->({ 'psgi.errors' => $io });
is $res->[0], 500;

my %hdrs = @{$res->[1]};
Expand Down
2 changes: 1 addition & 1 deletion t/Plack-Middleware/stacktrace.t
Expand Up @@ -5,7 +5,7 @@ use Plack::Middleware::StackTrace;
use Plack::Test;
use HTTP::Request::Common;

my $app = Plack::Middleware::StackTrace->wrap(sub { die "orz" });
my $app = Plack::Middleware::StackTrace->wrap(sub { die "orz" }, no_print_errors => 1);

test_psgi $app, sub {
my $cb = shift;
Expand Down
4 changes: 2 additions & 2 deletions t/Plack-Middleware/stacktrace_force.t
Expand Up @@ -11,7 +11,7 @@ my $app = sub {
return [ 500, [ 'Content-Type', 'text/html' ], [ "Fancy Error" ] ];
};

my $default_app = Plack::Middleware::StackTrace->wrap($app);
my $default_app = Plack::Middleware::StackTrace->wrap($app, no_print_errors => 1);

test_psgi $default_app, sub {
my $cb = shift;
Expand All @@ -23,7 +23,7 @@ test_psgi $default_app, sub {
like $res->content, qr/Fancy Error/;
};

my $force_app = Plack::Middleware::StackTrace->wrap($app, force => 1);
my $force_app = Plack::Middleware::StackTrace->wrap($app, force => 1, no_print_errors => 1);

test_psgi $force_app, sub {
my $cb = shift;
Expand Down
2 changes: 1 addition & 1 deletion t/Plack-Middleware/stacktrace_utf8.t
Expand Up @@ -7,7 +7,7 @@ use Plack::Test;
use HTTP::Request::Common;

$Plack::Test::Impl = "Server";
my $app = Plack::Middleware::StackTrace->wrap(sub { die "Foo \x{30c6}" });
my $app = Plack::Middleware::StackTrace->wrap(sub { die "Foo \x{30c6}" }, no_print_errors => 1);

test_psgi $app, sub {
my $cb = shift;
Expand Down

0 comments on commit d4c9691

Please sign in to comment.