diff options
Diffstat (limited to 't/016Export.t')
-rw-r--r-- | t/016Export.t | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/t/016Export.t b/t/016Export.t new file mode 100644 index 0000000..89fa5da --- /dev/null +++ b/t/016Export.t @@ -0,0 +1,140 @@ +########################################### +# Test Suite for Log::Log4perl +# Test all shortcuts (exported symbols) +# +# Mike Schilli, 2002 (m@perlmeister.com) +########################################### +BEGIN { + if($ENV{INTERNAL_DEBUG}) { + require Log::Log4perl::InternalDebug; + Log::Log4perl::InternalDebug->enable(); + } +} + +use warnings; +use strict; +use Log::Log4perl::Appender::TestBuffer; + +######################### +# change 'tests => 1' to 'tests => last_test_to_print'; +######################### +use Test; +BEGIN { plan tests => 16 }; + +use Log::Log4perl qw(get_logger :levels); + +ok(1); + +ok(Log::Log4perl::Level::isGreaterOrEqual($DEBUG, $ERROR)); +ok(Log::Log4perl::Level::isGreaterOrEqual($INFO, $WARN)); +ok(Log::Log4perl::Level::isGreaterOrEqual($WARN, $ERROR)); +ok(Log::Log4perl::Level::isGreaterOrEqual($ERROR, $FATAL)); + +################################################## +# Init logger +################################################## +my $app = Log::Log4perl::Appender->new( + "Log::Log4perl::Appender::TestBuffer", + name => "A1"); +my $logger = get_logger("abc.def"); +$logger->add_appender($app); +$logger->level($DEBUG); + + # Let the next logger assume the default category, + # which defaults to the current package, which + # is 'main' in this case. +my $logger_main = get_logger(); +$logger_main->add_appender($app); +$logger_main->level($DEBUG); +ok(2); + +################################################## +# Use logger +################################################## +my $log2 = get_logger("abc.def"); +$log2->debug("Is this it?"); + +ok($app->buffer(), "DEBUG - Is this it?\n"); +$app->buffer(""); + +################################################## +# Use other logger +################################################## +my $log3 = get_logger("main"); +$log3->debug("Is this it?"); + +ok($app->buffer(), "DEBUG - Is this it?\n"); +$app->buffer(""); + +################################################## +# Use main logger +################################################## +my $log4 = get_logger("main"); +$log4->debug("Is this it?"); + +ok($app->buffer(), "DEBUG - Is this it?\n"); +$app->buffer(""); + +################################################## +# Use other logger +################################################## +my $log5 = get_logger("main"); +$log5->debug("Is this it?"); + +ok($app->buffer(), "DEBUG - Is this it?\n"); +$app->buffer(""); + +################################################## +# Use default-main logger +################################################## +my $log6 = get_logger(); +$log6->debug("Is this it?"); + +ok($app->buffer(), "DEBUG - Is this it?\n"); +$app->buffer(""); + +################################################## +# Use default-main logger +################################################## +my $log7 = Log::Log4perl->get_logger(); +$log7->debug("Is this it?"); + +ok($app->buffer(), "DEBUG - Is this it?\n"); +$app->buffer(""); + +################################################## +# Use default-main logger +################################################## +my $log8 = Log::Log4perl::get_logger(); +$log8->debug("Is this it?"); + +ok($app->buffer(), "DEBUG - Is this it?\n"); +$app->buffer(""); + +################################################## +# Remove appender +################################################## +$logger->remove_appender("A1"); +$logger_main->remove_appender("A1"); +$log8->debug("Is this it?"); + +$app = Log::Log4perl->appenders()->{"A1"}; + +ok($app->buffer(), ""); +$app->buffer(""); + +################################################## +# Eradicate appender +################################################## +$Log::Log4perl::Appender::TestBuffer::DESTROY_MESSAGE = ""; +Log::Log4perl->eradicate_appender("A1"); +ok($Log::Log4perl::Appender::TestBuffer::DESTROY_MESSAGE, "", + "destroy message before"); + +undef $app; + # Special for TestBuffer: remove circ ref +delete ${Log::Log4perl::Appender::TestBuffer::POPULATION}{A1}; + +ok($Log::Log4perl::Appender::TestBuffer::DESTROY_MESSAGES, + "Log::Log4perl::Appender::TestBuffer destroyed", + "destroy message after destruction"); |