X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Funit_core_setup.t;h=cbc5aaccf6f73932fc21773aa19aafeb2c844b37;hb=c68a3c90180235a2a464ce237a96fef79db468bf;hp=1e6e5729f01f41ef566c35917190a3e7b9780ac7;hpb=c69e69d278d028e637d293e924c5d2069cdc43e5;p=catagits%2FCatalyst-Runtime.git diff --git a/t/unit_core_setup.t b/t/unit_core_setup.t index 1e6e572..cbc5aac 100644 --- a/t/unit_core_setup.t +++ b/t/unit_core_setup.t @@ -1,5 +1,6 @@ use strict; use warnings; +use Class::MOP::Class; use Catalyst::Runtime; use Test::More tests => 29; @@ -25,12 +26,17 @@ sub build_test_app_with_setup { return $name; } -local %ENV; # Don't allow env variables to mess us up. +local %ENV = %ENV; + +# Remove all relevant env variables to avoid accidental fail +foreach my $name (grep { /^(CATALYST|TESTAPP)/ } keys %ENV) { + delete $ENV{$name}; +} { - my $app = build_test_app_with_setup('MyTestDebug', '-Debug'); + my $app = build_test_app_with_setup('TestAppMyTestDebug', '-Debug'); - ok my $c = MyTestDebug->new, 'Get debug app object'; + ok my $c = $app->new, 'Get debug app object'; ok my $log = $c->log, 'Get log object'; isa_ok $log, 'Catalyst::Log', 'It should be a Catalyst::Log object'; ok $log->is_warn, 'Warnings should be enabled'; @@ -42,7 +48,7 @@ local %ENV; # Don't allow env variables to mess us up. } { - my $app = build_test_app_with_setup('MyTestLogParam', '-Log=warn,error,fatal'); + my $app = build_test_app_with_setup('TestAppMyTestLogParam', '-Log=warn,error,fatal'); ok my $c = $app->new, 'Get log app object'; ok my $log = $c->log, 'Get log object'; @@ -55,7 +61,7 @@ local %ENV; # Don't allow env variables to mess us up. ok !$c->debug, 'Catalyst debugging is off'; } { - my $app = build_test_app_with_setup('MyTestNoParams'); + my $app = build_test_app_with_setup('TestAppMyTestNoParams'); ok my $c = $app->new, 'Get log app object'; ok my $log = $c->log, 'Get log object'; @@ -67,16 +73,16 @@ local %ENV; # Don't allow env variables to mess us up. ok $log->is_debug, 'Debugging should be enabled'; ok !$c->debug, 'Catalyst debugging turned off'; } +my $log_meta = Class::MOP::Class->create_anon_class( + methods => { map { $_ => sub { 0 } } qw/debug error fatal info warn/ }, +); { - package MyTestAppWithOwnLogger; + package TestAppWithOwnLogger; use base qw/Catalyst/; - use Test::MockObject; - my $log = Test::MockObject->new; - $log->set_false(qw/debug error fatal info warn/); - __PACKAGE__->log($log); + __PACKAGE__->log($log_meta->new_object); __PACKAGE__->setup('-Debug'); } -ok my $c = MyTestAppWithOwnLogger->new, 'Get with own logger app object'; +ok my $c = TestAppWithOwnLogger->new, 'Get with own logger app object'; ok $c->debug, '$c->debug is true';