File Coverage

blib/lib/JMAP/Tester/Abort.pm
Criterion Covered Total %
statement 15 15 100.0
branch 1 2 50.0
condition n/a
subroutine 4 4 100.0
pod 0 1 0.0
total 20 22 90.9


line stmt bran cond sub pod time code
1             package JMAP::Tester::Abort 0.101;
2              
3 1     1   7 use Moo;
  1         2  
  1         8  
4             extends 'Throwable::Error';
5              
6 1     1   881 use namespace::clean;
  1         11799  
  1         6  
7              
8             use Sub::Exporter -setup => {
9             exports => {
10             abort => sub {
11 3         666 my $pkg = shift;
12 3         87 return sub { die $pkg->new(@_) }
13 3         19 }
14             }
15 1     1   1082 };
  1         20413  
  1         15  
16              
17             around BUILDARGS => sub {
18             my ($orig, $self, @args) = @_;
19             return { message => $args[0] } if @args == 1 && ! ref $args[0];
20             return $self->$orig(@args);
21             };
22              
23             has message => (
24             is => 'ro',
25             required => 1,
26             );
27              
28             has diagnostics => (
29             is => 'ro',
30             );
31              
32             sub as_test_abort_events {
33             return [
34             [ Ok => (pass => 0, name => $_[0]->message) ],
35             ($_[0]->diagnostics
36 2 50   2 0 4427 ? (map {; [ Diag => (message => $_) ] } @{ $_[0]->diagnostics })
  3         14  
  2         9  
37             : ()),
38             ];
39             }
40              
41             1;
42              
43             __END__