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