X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Funit_core_setup_log.t;h=401ea9922abc6c629ef5f90bada104d7c0b8b7cf;hb=eaae9a9246b1c213dfd1fdff44f76c5c77562ab3;hp=7bc687dd3a0b3e15a8bc53e954a66224fd6d809b;hpb=812082c68a6375c17dbf9b9f36385176d7f417fa;p=catagits%2FCatalyst-Runtime.git diff --git a/t/unit_core_setup_log.t b/t/unit_core_setup_log.t index 7bc687d..401ea99 100644 --- a/t/unit_core_setup_log.t +++ b/t/unit_core_setup_log.t @@ -1,13 +1,14 @@ use strict; use warnings; -use Test::More tests => 24; +use Test::More tests => 30; use Test::Exception; use Catalyst (); sub mock_app { my $name = shift; + print "Setting up mock application: $name\n"; my $meta = Moose->init_meta( for_class => $name ); $meta->superclasses('Catalyst'); return $meta->name; @@ -33,9 +34,7 @@ local %ENV; # Ensure blank or someone, somewhere will fail.. $app->setup_log('error,warn'); ok !$app->debug, 'Not in debug mode'; test_log_object($app->log, - fatal => 0, # WTF - I thought log levels were additive these days, - # or do I not understand the patch which pupported to make - # them so? + fatal => 1, error => 1, warn => 1, info => 0, @@ -48,8 +47,8 @@ local %ENV; # Ensure blank or someone, somewhere will fail.. $app->setup_log(''); ok $app->debug, 'In debug mode'; test_log_object($app->log, - fatal => 1, # Note, log levels _are_ seemingly additive if debug is on. - error => 1, # CRACK - someone has been smoking it. + fatal => 1, + error => 1, warn => 1, info => 1, debug => 1, @@ -58,25 +57,38 @@ local %ENV; # Ensure blank or someone, somewhere will fail.. { local %ENV = ( CATALYST_DEBUG => 0 ); my $app = mock_app('TestLogAppDebugEnvUnset'); - $app->setup_log(''); + $app->setup_log('warn'); ok !$app->debug, 'Not In debug mode'; test_log_object($app->log, - fatal => 0, - error => 0, - warn => 0, + fatal => 1, + error => 1, + warn => 1, info => 0, debug => 0, ); } { + my $app = mock_app('TestLogAppEmptyString'); + $app->setup_log(''); + ok !$app->debug, 'Not In debug mode'; + # Note that by default, you get _all_ the log levels turned on + test_log_object($app->log, + fatal => 1, + error => 1, + warn => 1, + info => 1, + debug => 1, + ); +} +{ my $app = mock_app('TestLogAppDebugOnly'); $app->setup_log('debug'); ok $app->debug, 'In debug mode'; test_log_object($app->log, - fatal => 0, - error => 0, - warn => 0, - info => 0, + fatal => 1, + error => 1, + warn => 1, + info => 1, debug => 1, ); }