remove need for use lib in tests
[p5sagit/Log-Contextual.git] / t / dlog.t
1 use strict;
2 use warnings;
3
4 use Log::Contextual::SimpleLogger;
5 use Test::More 'no_plan';
6 my $var_log;
7 my $var;
8
9 BEGIN {
10    $var_log = Log::Contextual::SimpleLogger->new({
11       levels  => [qw(trace debug info warn error fatal)],
12       coderef => sub { $var = shift }
13    })
14 }
15
16 use Log::Contextual qw{:dlog}, -logger => $var_log;
17 {
18 my @foo = Dlog_trace { "Look ma, data: $_" } qw{frew bar baz};
19 ok( eq_array(\@foo, [qw{frew bar baz}]), 'Dlog_trace passes data through correctly');
20 is( $var, <<'OUT', 'Output for Dlog_trace is correct');
21 [trace] Look ma, data: "frew"
22 "bar"
23 "baz"
24 OUT
25
26 my $bar = DlogS_trace { "Look ma, data: $_" } [qw{frew bar baz}];
27 ok( eq_array($bar, [qw{frew bar baz}]), 'DlogS_trace passes data through correctly');
28 is( $var, <<'OUT', 'Output for DlogS_trace is correct');
29 [trace] Look ma, data: [
30   "frew",
31   "bar",
32   "baz"
33 ]
34 OUT
35 }
36
37
38 {
39 my @foo = Dlog_debug { "Look ma, data: $_" } qw{frew bar baz};
40 ok( eq_array(\@foo, [qw{frew bar baz}]), 'Dlog_debug passes data through correctly');
41 is( $var, <<'OUT', 'Output for Dlog_debug is correct');
42 [debug] Look ma, data: "frew"
43 "bar"
44 "baz"
45 OUT
46
47 my $bar = DlogS_debug { "Look ma, data: $_" } [qw{frew bar baz}];
48 ok( eq_array($bar, [qw{frew bar baz}]), 'DlogS_debug passes data through correctly');
49 is( $var, <<'OUT', 'Output for DlogS_debug is correct');
50 [debug] Look ma, data: [
51   "frew",
52   "bar",
53   "baz"
54 ]
55 OUT
56 }
57
58
59 {
60 my @foo = Dlog_info { "Look ma, data: $_" } qw{frew bar baz};
61 ok( eq_array(\@foo, [qw{frew bar baz}]), 'Dlog_info passes data through correctly');
62 is( $var, <<'OUT', 'Output for Dlog_info is correct');
63 [info] Look ma, data: "frew"
64 "bar"
65 "baz"
66 OUT
67
68 my $bar = DlogS_info { "Look ma, data: $_" } [qw{frew bar baz}];
69 ok( eq_array($bar, [qw{frew bar baz}]), 'DlogS_info passes data through correctly');
70 is( $var, <<'OUT', 'Output for DlogS_info is correct');
71 [info] Look ma, data: [
72   "frew",
73   "bar",
74   "baz"
75 ]
76 OUT
77 }
78
79
80 {
81 my @foo = Dlog_warn { "Look ma, data: $_" } qw{frew bar baz};
82 ok( eq_array(\@foo, [qw{frew bar baz}]), 'Dlog_warn passes data through correctly');
83 is( $var, <<'OUT', 'Output for Dlog_warn is correct');
84 [warn] Look ma, data: "frew"
85 "bar"
86 "baz"
87 OUT
88
89 my $bar = DlogS_warn { "Look ma, data: $_" } [qw{frew bar baz}];
90 ok( eq_array($bar, [qw{frew bar baz}]), 'DlogS_warn passes data through correctly');
91 is( $var, <<'OUT', 'Output for DlogS_warn is correct');
92 [warn] Look ma, data: [
93   "frew",
94   "bar",
95   "baz"
96 ]
97 OUT
98 }
99
100
101 {
102 my @foo = Dlog_error { "Look ma, data: $_" } qw{frew bar baz};
103 ok( eq_array(\@foo, [qw{frew bar baz}]), 'Dlog_error passes data through correctly');
104 is( $var, <<'OUT', 'Output for Dlog_error is correct');
105 [error] Look ma, data: "frew"
106 "bar"
107 "baz"
108 OUT
109
110 my $bar = DlogS_error { "Look ma, data: $_" } [qw{frew bar baz}];
111 ok( eq_array($bar, [qw{frew bar baz}]), 'DlogS_error passes data through correctly');
112 is( $var, <<'OUT', 'Output for DlogS_error is correct');
113 [error] Look ma, data: [
114   "frew",
115   "bar",
116   "baz"
117 ]
118 OUT
119 }
120
121
122 {
123 my @foo = Dlog_fatal { "Look ma, data: $_" } qw{frew bar baz};
124 ok( eq_array(\@foo, [qw{frew bar baz}]), 'Dlog_fatal passes data through correctly');
125 is( $var, <<'OUT', 'Output for Dlog_fatal is correct');
126 [fatal] Look ma, data: "frew"
127 "bar"
128 "baz"
129 OUT
130
131 my $bar = DlogS_fatal { "Look ma, data: $_" } [qw{frew bar baz}];
132 ok( eq_array($bar, [qw{frew bar baz}]), 'DlogS_fatal passes data through correctly');
133 is( $var, <<'OUT', 'Output for DlogS_fatal is correct');
134 [fatal] Look ma, data: [
135   "frew",
136   "bar",
137   "baz"
138 ]
139 OUT
140 }
141
142
143
144 {
145    my @foo = Dlog_trace { "nothing: $_" } ();
146    ok( eq_array(\@foo, []), 'Dlog_trace passes nothing through correctly');
147    is( $var, "[trace] nothing: ()\n", 'Output for Dlog_trace is correct');
148 }
149
150 {
151    my @foo = Dlog_debug { "nothing: $_" } ();
152    ok( eq_array(\@foo, []), 'Dlog_debug passes nothing through correctly');
153    is( $var, "[debug] nothing: ()\n", 'Output for Dlog_debug is correct');
154 }
155
156 {
157    my @foo = Dlog_info { "nothing: $_" } ();
158    ok( eq_array(\@foo, []), 'Dlog_info passes nothing through correctly');
159    is( $var, "[info] nothing: ()\n", 'Output for Dlog_info is correct');
160 }
161
162 {
163    my @foo = Dlog_warn { "nothing: $_" } ();
164    ok( eq_array(\@foo, []), 'Dlog_warn passes nothing through correctly');
165    is( $var, "[warn] nothing: ()\n", 'Output for Dlog_warn is correct');
166 }
167
168 {
169    my @foo = Dlog_error { "nothing: $_" } ();
170    ok( eq_array(\@foo, []), 'Dlog_error passes nothing through correctly');
171    is( $var, "[error] nothing: ()\n", 'Output for Dlog_error is correct');
172 }
173
174 {
175    my @foo = Dlog_fatal { "nothing: $_" } ();
176    ok( eq_array(\@foo, []), 'Dlog_fatal passes nothing through correctly');
177    is( $var, "[fatal] nothing: ()\n", 'Output for Dlog_fatal is correct');
178 }
179