use strict; use warnings; use Test2::Tools::Tiny; use Test2::Event::Diag; use Test2::EventFacet::Trace; my $diag = Test2::Event::Diag->new( trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]), message => 'foo', ); is($diag->summary, 'foo', "summary is just message"); $diag = Test2::Event::Diag->new( trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]), message => undef, ); is($diag->message, 'undef', "set undef message to undef"); is($diag->summary, 'undef', "summary is just message even when undef"); $diag = Test2::Event::Diag->new( trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]), message => {}, ); like($diag->message, qr/^HASH\(.*\)$/, "stringified the input value"); ok($diag->diagnostics, "Diag events are counted as diagnostics"); $diag = Test2::Event::Diag->new( trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]), message => "Hi there", ); my $facet_data = $diag->facet_data; ok($facet_data->{about}, "Got 'about' from common"); ok($facet_data->{trace}, "Got 'trace' from common"); is_deeply( $facet_data->{info}, [{ tag => 'DIAG', debug => 1, details => 'Hi there', }], "Got info facet" ); done_testing;