summaryrefslogtreecommitdiff
path: root/t/016Export.t
diff options
context:
space:
mode:
Diffstat (limited to 't/016Export.t')
-rw-r--r--t/016Export.t140
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");