xref: /openbsd-src/gnu/usr.bin/perl/cpan/Test-Simple/t/Test2/modules/Event/Diag.t (revision 5759b3d249badf144a6240f7eec4dcf9df003e6b)
1*5759b3d2Safresh1use strict;
2*5759b3d2Safresh1use warnings;
3*5759b3d2Safresh1use Test2::Tools::Tiny;
4*5759b3d2Safresh1use Test2::Event::Diag;
5*5759b3d2Safresh1use Test2::EventFacet::Trace;
6*5759b3d2Safresh1
7*5759b3d2Safresh1my $diag = Test2::Event::Diag->new(
8*5759b3d2Safresh1    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
9*5759b3d2Safresh1    message => 'foo',
10*5759b3d2Safresh1);
11*5759b3d2Safresh1
12*5759b3d2Safresh1is($diag->summary, 'foo', "summary is just message");
13*5759b3d2Safresh1
14*5759b3d2Safresh1$diag = Test2::Event::Diag->new(
15*5759b3d2Safresh1    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
16*5759b3d2Safresh1    message => undef,
17*5759b3d2Safresh1);
18*5759b3d2Safresh1
19*5759b3d2Safresh1is($diag->message, 'undef', "set undef message to undef");
20*5759b3d2Safresh1is($diag->summary, 'undef', "summary is just message even when undef");
21*5759b3d2Safresh1
22*5759b3d2Safresh1$diag = Test2::Event::Diag->new(
23*5759b3d2Safresh1    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
24*5759b3d2Safresh1    message => {},
25*5759b3d2Safresh1);
26*5759b3d2Safresh1
27*5759b3d2Safresh1like($diag->message, qr/^HASH\(.*\)$/, "stringified the input value");
28*5759b3d2Safresh1
29*5759b3d2Safresh1ok($diag->diagnostics, "Diag events are counted as diagnostics");
30*5759b3d2Safresh1
31*5759b3d2Safresh1$diag = Test2::Event::Diag->new(
32*5759b3d2Safresh1    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
33*5759b3d2Safresh1    message => "Hi there",
34*5759b3d2Safresh1);
35*5759b3d2Safresh1
36*5759b3d2Safresh1my $facet_data = $diag->facet_data;
37*5759b3d2Safresh1ok($facet_data->{about}, "Got 'about' from common");
38*5759b3d2Safresh1ok($facet_data->{trace}, "Got 'trace' from common");
39*5759b3d2Safresh1
40*5759b3d2Safresh1is_deeply(
41*5759b3d2Safresh1    $facet_data->{info},
42*5759b3d2Safresh1    [{
43*5759b3d2Safresh1        tag => 'DIAG',
44*5759b3d2Safresh1        debug => 1,
45*5759b3d2Safresh1        details => 'Hi there',
46*5759b3d2Safresh1    }],
47*5759b3d2Safresh1    "Got info facet"
48*5759b3d2Safresh1);
49*5759b3d2Safresh1
50*5759b3d2Safresh1done_testing;
51