/
020_ff.t
61 lines (52 loc) · 1.61 KB
/
020_ff.t
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
use v6;
use Test;
use IO::Capture::Simple;
use Log::Minimal;
my $DATETIME = rx/
(<[+-]>? \d**4 \d*) # year
'-'
(\d\d) # month
'-'
(\d\d) # day
<[Tt]> # time separator
(\d\d) # hour
':'
(\d\d) # minute
':'
(\d\d[<[\.,]>\d ** 1..6]?) # second
(<[Zz]> || (<[\-\+]>) (\d\d) (':'? (\d\d))? )? # timezone
/;
my $FILE = 't/020_ff.t';
my $log = Log::Minimal.new(:timezone(0));
my regex timestamp { \d ** 4 '-' \d ** 2 '-' \d ** 2 'T' \d ** 2 ':' \d ** 2 ':' \d ** 2 '.' \d+ 'Z' };
subtest {
my $out = capture_stderr {
$log.critff('critical');
};
like $out, rx{^ <timestamp> ' [CRITICAL] critical at t/020_ff.t line 28, ' .+ \n $};
}, 'test for critf';
subtest {
my $out = capture_stderr {
$log.warnff('warn');
};
like $out, rx{^ <timestamp> ' [WARN] warn at t/020_ff.t line 35, ' .+ \n $};
}, 'test for warnff';
subtest {
my $out = capture_stderr {
$log.infoff('info');
};
like $out, rx{^ <timestamp> ' [INFO] info at t/020_ff.t line 42, ' .+ \n $};
}, 'test for infoff';
subtest {
temp %*ENV<LM_DEBUG> = 1;
my $out = capture_stderr {
$log.debugff('debug');
};
like $out, rx{^ <timestamp> ' [DEBUG] debug at t/020_ff.t line 50, ' .+ \n $};
}, 'test for debugff';
subtest {
dies-ok {
$log.errorff('error');
}; # XXX
}, 'test for errorff';
done-testing;