xref: /openbsd-src/gnu/usr.bin/perl/cpan/Test-Simple/lib/Test2/Event/Exception.pm (revision 5486feefcc8cb79b19e014ab332cc5dfd05b3b33)
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