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