namespace ::Easy::Default
[p5sagit/Log-Contextual.git] / t / caller.t
1 use strict;
2 use warnings;
3
4 use Log::Contextual::SimpleLogger;
5 use Test::More qw(no_plan);
6 use Log::Contextual qw(:log set_logger);
7 my $var;
8 my @caller_info;
9 my $var_log = Log::Contextual::SimpleLogger->new({
10       levels  => [qw(trace debug info warn error fatal)],
11       coderef => sub {
12          chomp($_[0]);
13          $var = "$_[0] at $caller_info[1] line $caller_info[2].\n"
14         }
15    });
16 my $warn_faker = sub {
17    my ($package, $args) = @_;
18    @caller_info = caller($args->{caller_level});
19    $var_log
20 };
21 set_logger($warn_faker);
22
23 log_debug { 'test log_debug' };
24 is($var,
25    "[debug] test log_debug at " . __FILE__ . " line " . (__LINE__- 2) . ".\n",
26    'fake warn');
27
28 logS_debug { 'test logS_debug' };
29 is(
30    $var,
31    "[debug] test logS_debug at " . __FILE__ . " line " . (__LINE__- 3) . ".\n",
32    'fake warn'
33 );
34
35 logS_debug { 'test Dlog_debug' };
36 is(
37    $var,
38    "[debug] test Dlog_debug at " . __FILE__ . " line " . (__LINE__- 3) . ".\n",
39    'fake warn'
40 );
41
42 logS_debug { 'test DlogS_debug' };
43 is(
44    $var,
45    "[debug] test DlogS_debug at " . __FILE__ . " line " . (__LINE__- 3) . ".\n",
46    'fake warn'
47 );