move handle_log_request logic into router
[p5sagit/Log-Contextual.git] / t / arg.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 my @levels = qw(debug trace warn info error fatal);
10
11 BEGIN {
12    $var_log = Log::Contextual::SimpleLogger->new({
13       levels  => [qw(trace debug info warn error fatal)],
14       coderef => sub { $var = shift }
15    })
16 }
17
18 use Log::Contextual qw{ :log :dlog}, -logger => $var_log;
19
20 my @args = qw(fizz buzz fizzbuzz);
21
22 for my $level (@levels) {
23     for my $prefix (qw(log logS Dlog DlogS)) {
24
25        my $original = local $_ = "don't tread on me";
26        my $method_name = "${prefix}_${level}";
27        my $ref = __PACKAGE__->can($method_name) or die "no ref found for method $method_name";
28
29        $ref->(sub { "$method_name" }, @args);
30        ok($_ eq $original, "\$_ was not disturbed by $method_name");
31        ok($var eq "[$level] $method_name\n", "log argument was correct");
32     }
33 }