Commit | Line | Data |
7cec609c |
1 | use strict; |
2 | use warnings; |
3 | |
c19d7bee |
4 | use lib 't/lib'; |
5 | use VarLogger; |
f11f9542 |
6 | use Log::Contextual qw{:log with_logger set_logger}; |
7cec609c |
7 | use Test::More qw(no_plan); |
f8c96d08 |
8 | my $var_logger1 = VarLogger->new; |
9 | my $var_logger2 = VarLogger->new; |
c19d7bee |
10 | my $var_logger3 = VarLogger->new; |
7cec609c |
11 | |
c19d7bee |
12 | WITHLOGGER: { |
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 | |
73c0f681 |
22 | is( $var_logger1->var, 'dnothing!', 'inner scoped logger works' ); |
23 | is( $var_logger2->var, 'dfrew!', 'outer scoped logger works' ); |
c19d7bee |
24 | } |
25 | |
26 | SETLOGGER: { |
27 | set_logger(sub { $var_logger3 }); |
28 | log_debug { 'set_logger' }; |
73c0f681 |
29 | is( $var_logger3->var, 'dset_logger', 'set logger works' ); |
c19d7bee |
30 | } |
31 | |
32 | SETWITHLOGGER: { |
98833ffb |
33 | with_logger $var_logger1 => sub { |
0f7a70e7 |
34 | log_debug { 'nothing again!' }; |
35 | set_logger(sub { $var_logger3 }); |
36 | log_debug { 'this is a set inside a with' }; |
80c3e48b |
37 | }; |
c19d7bee |
38 | |
73c0f681 |
39 | is( $var_logger1->var, 'dnothing again!', |
c19d7bee |
40 | 'inner scoped logger works after using set_logger' |
41 | ); |
42 | |
0f7a70e7 |
43 | is( $var_logger3->var, 'dthis is a set inside a with', |
44 | 'set inside with works' |
45 | ); |
46 | |
c19d7bee |
47 | log_debug { 'frioux!' }; |
73c0f681 |
48 | is( $var_logger3->var, 'dfrioux!', |
c19d7bee |
49 | q{set_logger's logger comes back after scoped logger} |
50 | ); |
2033c911 |
51 | } |
f8c96d08 |
52 | |
0f7a70e7 |
53 | VANILLA: { |
54 | log_trace { 'fiSMBoC' }; |
55 | is( $var_logger3->var, 'tfiSMBoC', 'trace works'); |
56 | |
57 | log_debug { 'fiSMBoC' }; |
58 | is( $var_logger3->var, 'dfiSMBoC', 'debug works'); |
59 | |
60 | log_info { 'fiSMBoC' }; |
61 | is( $var_logger3->var, 'ifiSMBoC', 'info works'); |
62 | |
63 | log_warn { 'fiSMBoC' }; |
64 | is( $var_logger3->var, 'wfiSMBoC', 'warn works'); |
65 | |
66 | log_error { 'fiSMBoC' }; |
67 | is( $var_logger3->var, 'efiSMBoC', 'error works'); |
68 | |
69 | log_fatal { 'fiSMBoC' }; |
70 | is( $var_logger3->var, 'ffiSMBoC', 'fatal works'); |
71 | |
72 | } |
73 | |
f8c96d08 |
74 | ok(!eval { Log::Contextual->import; 1 }, 'Blank Log::Contextual import dies'); |
ba793593 |
75 | |
76 | PASSTHROUGH: { |
77 | my @vars; |
78 | |
79 | @vars = log_trace { 'fiSMBoC: ' . $_[1] } qw{foo bar baz}; |
80 | is( $var_logger3->var, 'tfiSMBoC: bar', 'log_trace works with input'); |
81 | ok( eq_array(\@vars, [qw{foo bar baz}]), 'log_trace passes data through correctly'); |
82 | |
83 | @vars = log_debug { 'fiSMBoC: ' . $_[1] } qw{foo bar baz}; |
84 | is( $var_logger3->var, 'dfiSMBoC: bar', 'log_debug works with input'); |
85 | ok( eq_array(\@vars, [qw{foo bar baz}]), 'log_debug passes data through correctly'); |
86 | |
87 | @vars = log_info { 'fiSMBoC: ' . $_[1] } qw{foo bar baz}; |
88 | is( $var_logger3->var, 'ifiSMBoC: bar', 'log_info works with input'); |
89 | ok( eq_array(\@vars, [qw{foo bar baz}]), 'log_info passes data through correctly'); |
90 | |
91 | @vars = log_warn { 'fiSMBoC: ' . $_[1] } qw{foo bar baz}; |
92 | is( $var_logger3->var, 'wfiSMBoC: bar', 'log_warn works with input'); |
93 | ok( eq_array(\@vars, [qw{foo bar baz}]), 'log_warn passes data through correctly'); |
94 | |
95 | @vars = log_error { 'fiSMBoC: ' . $_[1] } qw{foo bar baz}; |
96 | is( $var_logger3->var, 'efiSMBoC: bar', 'log_error works with input'); |
97 | ok( eq_array(\@vars, [qw{foo bar baz}]), 'log_error passes data through correctly'); |
98 | |
99 | @vars = log_fatal { 'fiSMBoC: ' . $_[1] } qw{foo bar baz}; |
100 | is( $var_logger3->var, 'ffiSMBoC: bar', 'log_fatal works with input'); |
101 | ok( eq_array(\@vars, [qw{foo bar baz}]), 'log_fatal passes data through correctly'); |
102 | |
103 | |
104 | |
105 | my $val; |
106 | $val = logS_trace { 'fiSMBoC: ' . $_[0] } 'foo'; |
107 | is( $var_logger3->var, 'tfiSMBoC: foo', 'logS_trace works with input'); |
108 | is( $val, 'foo', 'logS_trace passes data through correctly'); |
109 | |
110 | $val = logS_debug { 'fiSMBoC: ' . $_[0] } 'foo'; |
111 | is( $var_logger3->var, 'dfiSMBoC: foo', 'logS_debug works with input'); |
112 | is( $val, 'foo', 'logS_debug passes data through correctly'); |
113 | |
114 | $val = logS_info { 'fiSMBoC: ' . $_[0] } 'foo'; |
115 | is( $var_logger3->var, 'ifiSMBoC: foo', 'logS_info works with input'); |
116 | is( $val, 'foo', 'logS_info passes data through correctly'); |
117 | |
118 | $val = logS_warn { 'fiSMBoC: ' . $_[0] } 'foo'; |
119 | is( $var_logger3->var, 'wfiSMBoC: foo', 'logS_warn works with input'); |
120 | is( $val, 'foo', 'logS_warn passes data through correctly'); |
121 | |
122 | $val = logS_error { 'fiSMBoC: ' . $_[0] } 'foo'; |
123 | is( $var_logger3->var, 'efiSMBoC: foo', 'logS_error works with input'); |
124 | is( $val, 'foo', 'logS_error passes data through correctly'); |
125 | |
126 | $val = logS_fatal { 'fiSMBoC: ' . $_[0] } 'foo'; |
127 | is( $var_logger3->var, 'ffiSMBoC: foo', 'logS_fatal works with input'); |
128 | is( $val, 'foo', 'logS_fatal passes data through correctly'); |
129 | |
3424b376 |
130 | ok(!eval "logS_error { 'frew' } 'bar', 'baz'; 1", 'logS_$level dies from too many args'); |
ba793593 |
131 | } |