package TestApp;
$INC{'TestApp.pm'} = __FILE__;
use Catalyst;
- __PACKAGE__->setup;
+ __PACKAGE__->setup('-Log=fatal');
}
use Catalyst::Test 'TestApp';
$INC{'TestApp.pm'} = __FILE__;
use Catalyst;
__PACKAGE__->config(abort_chain_on_error_fix => 1);
- __PACKAGE__->setup;
+ __PACKAGE__->setup('-Log=fatal');
}
use Catalyst::Test 'TestApp';
$INC{'TestApp.pm'} = __FILE__;
use Catalyst;
__PACKAGE__->config(abort_chain_on_error_fix => 0);
- __PACKAGE__->setup;
+ __PACKAGE__->setup('-Log=fatal');
}
use Catalyst::Test 'TestApp';
use warnings;
use Test::More;
-{
+BEGIN {
package MyApp::Model::AcceptContext;
use base 'Catalyst::Model';
}
$INC{'MyApp/Model/AcceptContext.pm'} = __FILE__;
+}
+BEGIN {
package MyApp::Controller::Root;
use base 'Catalyst::Controller';
}
$INC{'MyApp/Controller/Root.pm'} = __FILE__;
+}
+BEGIN {
package MyApp;
use Catalyst;
use Catalyst::Test 'MyApp';
-my ($res, $c) = ctx_request('/test_model');
+my ($res, $c) = ctx_request('/root/test_model');
ok $res;
-
done_testing;
-
__PACKAGE__->components({ map { ($_, $_) } @complist });
# this is so $c->log->warn will work
- __PACKAGE__->setup_log;
+ __PACKAGE__->setup_log('fatal');
}
is(MyApp->comp('MyApp::V::View'), 'MyApp::V::View', 'Explicit return ok');
__PACKAGE__->components->{'MyMVCTestApp::Model::Test::Object'} = $thingie;
# allow $c->log->warn to work
- __PACKAGE__->setup_log;
+ __PACKAGE__->setup_log('fatal');
}
{
my $name = shift;
my $meta = Moose->init_meta( for_class => $name );
$meta->superclasses('Catalyst');
- return $meta->name;
+
+ $meta->add_after_method_modifier('log', sub {
+ my ($self, $log) = @_;
+ if ($log) {
+ open my $err_fh, '>', \(my $err_out)
+ or die 'unable to open in memory buffer';
+ $log->psgienv({ 'psgi.errors' => $err_fh });
+ }
+ });
+
+ return $name;
}
sub test_log_object {
package MyApp;
use Catalyst;
- MyApp->setup;
+ MyApp->setup('-Log=fatal');
}
use Catalyst::Test 'MyApp';
$SIG{__WARN__} = sub { $error = shift };
- MyApp->setup;
+ MyApp->setup('-Log=fatal');
}
use Catalyst::Test 'MyApp';
sub d { 'd' }
}
+BEGIN {
+ package TestApp::Controller::Root;
+ $INC{'TestApp/Controller/Root.pm'} = __FILE__;
+
+ use Moose;
+
+ BEGIN { extends 'Catalyst::Controller' };
+
+ sub root :Path('/') {}
+}
+
{
package TestApp;
$INC{'TestApp.pm'} = __FILE__;
}
+BEGIN {
+ package TestApp::Controller::Root;
+ $INC{'TestApp/Controller/Root.pm'} = __FILE__;
+
+ use Moose;
+
+ BEGIN { extends 'Catalyst::Controller' };
+
+ sub root :Path('/') {}
+}
+
{
package TestApp;
$INC{'TestApp.pm'} = __FILE__;
use Catalyst;
MyApp->config(show_internal_actions=>1);
- MyApp->setup;
+ MyApp->setup('-Log=fatal');
}
use Catalyst::Test 'MyApp';
use base 'Catalyst::Controller';
+sub root :Path('/') {}
+
sub test_json :Local {
my ($self, $c) = @_;
$c->res->body($c->req->body_data->{message});
use lib "$FindBin::Bin/lib";
BEGIN { $::setup_leakchecker = 1 }
-local $SIG{__WARN__} = sub { return if $_[0] =~ /Unhandled type: GLOB/; warn $_[0] };
+local $SIG{__WARN__} = sub { return if $_[0] =~ /Unhandled type: (GLOB|REGEXP)/; warn $_[0] };
use Catalyst::Test 'TestApp';
{
sub debug { 1 }
- __PACKAGE__->log(TestAppStats::Log->new);
+ __PACKAGE__->log(TestAppStats::Log->new('warn'));
after 'finalize' => sub {
my ($c) = @_;
package MyApp;
use Catalyst;
- Test::More::ok(MyApp->setup, 'setup app');
+ Test::More::ok(MyApp->setup('-Log=fatal'), 'setup app');
}
ok my $psgi = MyApp->psgi_app, 'build psgi app';