4 use Test::More tests => 30;
10 my $meta = Moose->init_meta( for_class => $name );
11 $meta->superclasses('Catalyst');
16 my ($log, %expected) = @_;
17 foreach my $level (keys %expected) {
18 my $method_name = "is_$level";
19 if ($expected{$level}) {
20 ok( $log->$method_name(), "Level $level on" );
23 ok( !$log->$method_name(), "Level $level off" );
30 # Remove all relevant env variables to avoid accidental fail
31 foreach my $name (grep { /^(CATALYST|TESTAPP)/ } keys %ENV) {
36 my $app = mock_app('TestAppParseLogLevels');
37 $app->setup_log('error,warn');
38 ok !$app->debug, 'Not in debug mode';
39 test_log_object($app->log,
49 $ENV{CATALYST_DEBUG} = 1;
50 my $app = mock_app('TestAppLogDebugEnvSet');
52 ok $app->debug, 'In debug mode';
53 test_log_object($app->log,
63 $ENV{CATALYST_DEBUG} = 0;
64 my $app = mock_app('TestAppLogDebugEnvUnset');
65 $app->setup_log('warn');
66 ok !$app->debug, 'Not In debug mode';
67 test_log_object($app->log,
76 my $app = mock_app('TestAppLogEmptyString');
78 ok !$app->debug, 'Not In debug mode';
79 # Note that by default, you get _all_ the log levels turned on
80 test_log_object($app->log,
89 my $app = mock_app('TestAppLogDebugOnly');
90 $app->setup_log('debug');
91 ok $app->debug, 'In debug mode';
92 test_log_object($app->log,