15759b3d2Safresh1package Test2::Event::Exception; 25759b3d2Safresh1use strict; 35759b3d2Safresh1use warnings; 45759b3d2Safresh1 5*5486feefSafresh1our $VERSION = '1.302199'; 65759b3d2Safresh1 75759b3d2Safresh1 85759b3d2Safresh1BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) } 95759b3d2Safresh1use Test2::Util::HashBase qw{error}; 105759b3d2Safresh1 115759b3d2Safresh1sub init { 125759b3d2Safresh1 my $self = shift; 135759b3d2Safresh1 $self->{+ERROR} = "$self->{+ERROR}"; 145759b3d2Safresh1} 155759b3d2Safresh1 165759b3d2Safresh1sub causes_fail { 1 } 175759b3d2Safresh1 185759b3d2Safresh1sub summary { 195759b3d2Safresh1 my $self = shift; 205759b3d2Safresh1 chomp(my $msg = "Exception: " . $self->{+ERROR}); 215759b3d2Safresh1 return $msg; 225759b3d2Safresh1} 235759b3d2Safresh1 245759b3d2Safresh1sub diagnostics { 1 } 255759b3d2Safresh1 265759b3d2Safresh1sub facet_data { 275759b3d2Safresh1 my $self = shift; 285759b3d2Safresh1 my $out = $self->common_facet_data; 295759b3d2Safresh1 305759b3d2Safresh1 $out->{errors} = [ 315759b3d2Safresh1 { 325759b3d2Safresh1 tag => 'ERROR', 335759b3d2Safresh1 fail => 1, 345759b3d2Safresh1 details => $self->{+ERROR}, 355759b3d2Safresh1 } 365759b3d2Safresh1 ]; 375759b3d2Safresh1 385759b3d2Safresh1 return $out; 395759b3d2Safresh1} 405759b3d2Safresh1 415759b3d2Safresh1 425759b3d2Safresh11; 435759b3d2Safresh1 445759b3d2Safresh1__END__ 455759b3d2Safresh1 465759b3d2Safresh1=pod 475759b3d2Safresh1 485759b3d2Safresh1=encoding UTF-8 495759b3d2Safresh1 505759b3d2Safresh1=head1 NAME 515759b3d2Safresh1 525759b3d2Safresh1Test2::Event::Exception - Exception event 535759b3d2Safresh1 545759b3d2Safresh1=head1 DESCRIPTION 555759b3d2Safresh1 565759b3d2Safresh1An exception event will display to STDERR, and will prevent the overall test 575759b3d2Safresh1file from passing. 585759b3d2Safresh1 595759b3d2Safresh1=head1 SYNOPSIS 605759b3d2Safresh1 615759b3d2Safresh1 use Test2::API qw/context/; 625759b3d2Safresh1 use Test2::Event::Exception; 635759b3d2Safresh1 645759b3d2Safresh1 my $ctx = context(); 655759b3d2Safresh1 my $event = $ctx->send_event('Exception', error => 'Stuff is broken'); 665759b3d2Safresh1 675759b3d2Safresh1=head1 METHODS 685759b3d2Safresh1 695759b3d2Safresh1Inherits from L<Test2::Event>. Also defines: 705759b3d2Safresh1 715759b3d2Safresh1=over 4 725759b3d2Safresh1 735759b3d2Safresh1=item $reason = $e->error 745759b3d2Safresh1 755759b3d2Safresh1The reason for the exception. 765759b3d2Safresh1 775759b3d2Safresh1=back 785759b3d2Safresh1 795759b3d2Safresh1=head1 CAVEATS 805759b3d2Safresh1 815759b3d2Safresh1Be aware that all exceptions are stringified during construction. 825759b3d2Safresh1 835759b3d2Safresh1=head1 SOURCE 845759b3d2Safresh1 855759b3d2Safresh1The source code repository for Test2 can be found at 86*5486feefSafresh1L<https://github.com/Test-More/test-more/>. 875759b3d2Safresh1 885759b3d2Safresh1=head1 MAINTAINERS 895759b3d2Safresh1 905759b3d2Safresh1=over 4 915759b3d2Safresh1 925759b3d2Safresh1=item Chad Granum E<lt>exodist@cpan.orgE<gt> 935759b3d2Safresh1 945759b3d2Safresh1=back 955759b3d2Safresh1 965759b3d2Safresh1=head1 AUTHORS 975759b3d2Safresh1 985759b3d2Safresh1=over 4 995759b3d2Safresh1 1005759b3d2Safresh1=item Chad Granum E<lt>exodist@cpan.orgE<gt> 1015759b3d2Safresh1 1025759b3d2Safresh1=back 1035759b3d2Safresh1 1045759b3d2Safresh1=head1 COPYRIGHT 1055759b3d2Safresh1 106256a93a4Safresh1Copyright 2020 Chad Granum E<lt>exodist@cpan.orgE<gt>. 1075759b3d2Safresh1 1085759b3d2Safresh1This program is free software; you can redistribute it and/or 1095759b3d2Safresh1modify it under the same terms as Perl itself. 1105759b3d2Safresh1 111*5486feefSafresh1See L<https://dev.perl.org/licenses/> 1125759b3d2Safresh1 1135759b3d2Safresh1=cut 114