File Coverage

blib/lib/JMAP/Tester/SentenceBroker.pm
Criterion Covered Total %
statement 46 46 100.0
branch n/a
condition n/a
subroutine 12 12 100.0
pod 0 4 0.0
total 58 62 93.5


line stmt bran cond sub pod time code
1 2     2   18 use v5.20.0;
  2         5  
2             package JMAP::Tester::SentenceBroker 0.110;
3              
4 2     2   7 use Moo;
  2         2  
  2         9  
5             with 'JMAP::Tester::Role::SentenceBroker';
6              
7 2     2   583 use experimental 'signatures';
  2         2  
  2         16  
8              
9 2     2   197 use Data::OptList ();
  2         2  
  2         32  
10 2     2   6 use JMAP::Tester::Abort;
  2         2  
  2         11  
11 2     2   838 use JMAP::Tester::Response::Sentence;
  2         3  
  2         36  
12 2     2   6 use JMAP::Tester::Response::Paragraph;
  2         4  
  2         549  
13              
14             has response => (
15             is => 'ro',
16             weak_ref => 1,
17             required => 1,
18             );
19              
20 29     29 0 2949 sub client_ids_for_items ($self, $items_ref) {
  29         36  
  29         41  
  29         28  
21 29         46 map {; $_->[2] } @$items_ref;
  40         113  
22             }
23              
24 147     147 0 771 sub sentence_for_item ($self, $item) {
  147         185  
  147         166  
  147         145  
25 147         2372 return JMAP::Tester::Response::Sentence->new({
26             name => $item->[0],
27             arguments => $item->[1],
28             client_id => $item->[2],
29              
30             sentence_broker => $self,
31             });
32             }
33              
34 21     21 0 179 sub paragraph_for_items ($self, $items_ref) {
  21         29  
  21         22  
  21         44  
35             return JMAP::Tester::Response::Paragraph->new({
36 21         57 sentences => [ map {; $self->sentence_for_item($_) } @$items_ref ],
  35         332  
37             });
38             }
39              
40 10     10 0 29 sub strip_json_types ($self, $struct) {
  10         14  
  10         10  
  10         11  
41 10         20 state $typist = JSON::Typist->new;
42 10         33 $typist->strip_types($struct);
43             }
44              
45 2     2   9 no Moo;
  2         3  
  2         8  
46             1;
47              
48             __END__