1*5759b3d2Safresh1use strict; 2*5759b3d2Safresh1use warnings; 3*5759b3d2Safresh1use Test2::Tools::Tiny; 4*5759b3d2Safresh1use Test2::Event::Exception; 5*5759b3d2Safresh1 6*5759b3d2Safresh1my $exception = Test2::Event::Exception->new( 7*5759b3d2Safresh1 trace => {frame => []}, 8*5759b3d2Safresh1 error => "evil at lake_of_fire.t line 6\n", 9*5759b3d2Safresh1); 10*5759b3d2Safresh1 11*5759b3d2Safresh1ok($exception->causes_fail, "Exception events always cause failure"); 12*5759b3d2Safresh1 13*5759b3d2Safresh1is($exception->summary, "Exception: evil at lake_of_fire.t line 6", "Got summary"); 14*5759b3d2Safresh1 15*5759b3d2Safresh1ok($exception->diagnostics, "Exception events are counted as diagnostics"); 16*5759b3d2Safresh1 17*5759b3d2Safresh1my $facet_data = $exception->facet_data; 18*5759b3d2Safresh1ok($facet_data->{about}, "Got common facet data"); 19*5759b3d2Safresh1 20*5759b3d2Safresh1is_deeply( 21*5759b3d2Safresh1 $facet_data->{errors}, 22*5759b3d2Safresh1 [{ 23*5759b3d2Safresh1 tag => 'ERROR', 24*5759b3d2Safresh1 fail => 1, 25*5759b3d2Safresh1 details => "evil at lake_of_fire.t line 6\n", 26*5759b3d2Safresh1 }], 27*5759b3d2Safresh1 "Got error facet", 28*5759b3d2Safresh1); 29*5759b3d2Safresh1 30*5759b3d2Safresh1my $hash = {an => 'error'}; 31*5759b3d2Safresh1my $str = "$hash"; 32*5759b3d2Safresh1 33*5759b3d2Safresh1$exception = Test2::Event::Exception->new( 34*5759b3d2Safresh1 trace => {frame => []}, 35*5759b3d2Safresh1 error => $hash, 36*5759b3d2Safresh1); 37*5759b3d2Safresh1 38*5759b3d2Safresh1ok($exception->causes_fail, "Exception events always cause failure"); 39*5759b3d2Safresh1 40*5759b3d2Safresh1is($exception->error, $str, "Got stringified exception"); 41*5759b3d2Safresh1 42*5759b3d2Safresh1$facet_data = $exception->facet_data; 43*5759b3d2Safresh1ok($facet_data->{about}, "Got common facet data"); 44*5759b3d2Safresh1 45*5759b3d2Safresh1is_deeply( 46*5759b3d2Safresh1 $facet_data->{errors}, 47*5759b3d2Safresh1 [{ 48*5759b3d2Safresh1 tag => 'ERROR', 49*5759b3d2Safresh1 fail => 1, 50*5759b3d2Safresh1 details => $str, 51*5759b3d2Safresh1 }], 52*5759b3d2Safresh1 "Got error facet", 53*5759b3d2Safresh1); 54*5759b3d2Safresh1 55*5759b3d2Safresh1done_testing; 56