File: arg.t

package info (click to toggle)
liblog-contextual-perl 0.009001-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 432 kB
  • sloc: perl: 889; makefile: 2
file content (36 lines) | stat: -rw-r--r-- 882 bytes parent folder | download
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
35
36
use strict;
use warnings;

use Log::Contextual::SimpleLogger;
use Test::More;
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");
  }
}

done_testing;