From: Tomas Doran Date: Sun, 5 Dec 2010 18:13:48 +0000 (+0000) Subject: Fix local_request. TODO - tests for local_request, make ->psgi_app lazy class data... X-Git-Tag: 5.89000~8 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=de1a65a77216b968a10ccd062a347309f9eeaa05 Fix local_request. TODO - tests for local_request, make ->psgi_app lazy class data again --- diff --git a/lib/Catalyst/Test.pm b/lib/Catalyst/Test.pm index e524840..f037a0d 100644 --- a/lib/Catalyst/Test.pm +++ b/lib/Catalyst/Test.pm @@ -27,9 +27,7 @@ my $build_exports = sub { } $class->import; - my $app = $class->psgi_app; - - $request = sub { local_request( $app, @_ ) }; + $request = sub { local_request( $class, @_ ) }; } my $get = sub { $request->(@_)->content }; @@ -241,7 +239,9 @@ Simulate a request using L. =cut sub local_request { - my $app = shift; + my $class = shift; + + my $app = ref($class) eq "CODE" ? $class : $class->psgi_app; my $request = Catalyst::Utils::request(shift); my %extra_env; @@ -251,7 +251,9 @@ sub local_request { test_psgi app => sub { $app->({ %{ $_[0] }, %extra_env }) }, client => sub { - my $resp = shift->($request); + my $psgi_app = shift; + + my $resp = $psgi_app->($request); # HTML head parsing based on LWP::UserAgent #