File Coverage

blib/lib/JMAP/Tester/Abort.pm
Criterion Covered Total %
statement 23 23 100.0
branch 1 2 50.0
condition n/a
subroutine 6 6 100.0
pod 0 1 0.0
total 30 32 93.7


line stmt bran cond sub pod time code
1 15     15   423103 use v5.20.0;
  15         51  
2             package JMAP::Tester::Abort 0.109;
3              
4 15     15   2776 use Moo;
  15         15315  
  15         102  
5             extends 'Throwable::Error';
6              
7 15     15   10615 use experimental 'signatures';
  15         1318  
  15         122  
8              
9 15     15   8019 use namespace::clean;
  15         159712  
  15         108  
10              
11             use Sub::Exporter -setup => {
12             exports => {
13             abort => sub {
14 11         2230 my $pkg = shift;
15 8         256 return sub (@args) { die $pkg->new(@args) }
16 11         72 }
17             }
18 15     15   15629 };
  15         186355  
  15         164  
19              
20             around BUILDARGS => sub ($orig, $self, @args) {
21             return { message => $args[0] } if @args == 1 && ! ref $args[0];
22             return $self->$orig(@args);
23             };
24              
25             has message => (
26             is => 'ro',
27             required => 1,
28             );
29              
30             has diagnostics => (
31             is => 'ro',
32             );
33              
34 2     2 0 5234 sub as_test_abort_events ($self) {
  2         7  
  2         3  
35             return [
36             [ Ok => (pass => 0, name => $self->message) ],
37             ($self->diagnostics
38 2 50       21 ? (map {; [ Diag => (message => $_) ] } @{ $self->diagnostics })
  3         14  
  2         9  
39             : ()),
40             ];
41             }
42              
43             1;
44              
45             __END__