X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FTest.pm;h=36d23edbbb0d7cbf40e56d81a741bb9a4f1d8be9;hb=8f076801b5c41543fdc20859452ed2cea1e1f82f;hp=e524840aec7ad6b6800e43a477b9240ffa0e2e40;hpb=9c74923de2304b8c8f0a7a2faa0854ad9b4d3a92;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Test.pm b/lib/Catalyst/Test.pm index e524840..36d23ed 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->_finalized_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 #