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;
16 log_debug { 'nothing!' }
17 } sub { $var_logger1 };
18 log_debug { 'frew!' };
20 } sub { $var_logger2 };
22 is( $var_logger1->var, 'nothing!', 'inner scoped logger works' );
23 is( $var_logger2->var, 'frew!', 'outer scoped logger works' );
27 set_logger(sub { $var_logger3 });
28 log_debug { 'set_logger' };
29 is( $var_logger3->var, 'set_logger', 'set logger works' );
34 log_debug { 'nothing again!' }
35 } sub { $var_logger1 };
37 is( $var_logger1->var, 'nothing again!',
38 'inner scoped logger works after using set_logger'
41 log_debug { 'frioux!' };
42 is( $var_logger3->var, 'frioux!',
43 q{set_logger's logger comes back after scoped logger}