File: arg.t

package info (click to toggle)
liblog-contextual-perl 0.007000-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 320 kB
  • ctags: 75
  • sloc: perl: 615; makefile: 2
file content (34 lines) | stat: -rw-r--r-- 908 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use strict;
use warnings;

use Log::Contextual::SimpleLogger;
use Test::More 'no_plan';
my $var_log;
my $var;

my @levels = qw(debug trace warn info error fatal);

BEGIN {
   $var_log = Log::Contextual::SimpleLogger->new({
         levels  => [qw(trace debug info warn error fatal)],
         coderef => sub { $var = shift }
      })
}

use Log::Contextual qw{ :log :dlog}, -logger => $var_log;

my @args = qw(fizz buzz fizzbuzz);

for my $level (@levels) {
   for my $prefix (qw(log logS Dlog DlogS)) {

      my $original = local $_ = "don't tread on me";
      my $method_name = "${prefix}_${level}";
      my $ref         = __PACKAGE__->can($method_name)
        or die "no ref found for method $method_name";

      $ref->(sub { "$method_name" }, @args);
      ok($_ eq $original, "\$_ was not disturbed by $method_name");
      ok($var eq "[$level] $method_name\n", "log argument was correct");
   }
}