add test for import()
[p5sagit/Log-Contextual.git] / t / log.t
CommitLineData
7cec609c 1use strict;
2use warnings;
3
c19d7bee 4use lib 't/lib';
5use VarLogger;
f11f9542 6use Log::Contextual qw{:log with_logger set_logger};
7cec609c 7use Test::More qw(no_plan);
f8c96d08 8my $var_logger1 = VarLogger->new;
9my $var_logger2 = VarLogger->new;
c19d7bee 10my $var_logger3 = VarLogger->new;
7cec609c 11
c19d7bee 12WITHLOGGER: {
98833ffb 13 with_logger sub { $var_logger2 } => sub {
7cec609c 14
98833ffb 15 with_logger $var_logger1 => sub {
c19d7bee 16 log_debug { 'nothing!' }
80c3e48b 17 };
c19d7bee 18 log_debug { 'frew!' };
2033c911 19
80c3e48b 20 };
2033c911 21
c19d7bee 22 is( $var_logger1->var, 'nothing!', 'inner scoped logger works' );
23 is( $var_logger2->var, 'frew!', 'outer scoped logger works' );
24}
25
26SETLOGGER: {
27 set_logger(sub { $var_logger3 });
28 log_debug { 'set_logger' };
29 is( $var_logger3->var, 'set_logger', 'set logger works' );
30}
31
32SETWITHLOGGER: {
98833ffb 33 with_logger $var_logger1 => sub {
c19d7bee 34 log_debug { 'nothing again!' }
80c3e48b 35 };
c19d7bee 36
37 is( $var_logger1->var, 'nothing again!',
38 'inner scoped logger works after using set_logger'
39 );
40
41 log_debug { 'frioux!' };
42 is( $var_logger3->var, 'frioux!',
43 q{set_logger's logger comes back after scoped logger}
44 );
2033c911 45}
f8c96d08 46
47ok(!eval { Log::Contextual->import; 1 }, 'Blank Log::Contextual import dies');