Condition Coverage

lib/WebService/Intercom.pm
Criterion Covered Total %
condition 0 209 0.0


and 3 conditions

line !l l&&!r l&&r condition
113 0 0 0 $#_ == 0 && ref $_[0] eq 'HASH'
185 0 0 0 $#_ == 0 && ref $_[0] eq 'HASH'
248 0 0 0 $#_ == 0 && ref $_[0] eq 'HASH'
283 0 0 0 $#_ == 0 && ref $_[0] eq 'HASH'
314 0 0 0 $#_ == 0 && ref $_[0] eq 'HASH'
0 0 0 ref $i eq 'HASH' and not grep((!/\A(?:email|id|untag|user_id)\z/u), keys %{$i;})
0 0 0 ref $i eq 'HASH' and not grep((!/\A(?:email|id|untag|user_id)\z/u), keys %{$i;}) and !exists($$i{'email'}) || do { do { Type::Tiny::XS::Str($$i{'email'}) } }
0 0 0 ref $i eq 'HASH' and not grep((!/\A(?:email|id|untag|user_id)\z/u), keys %{$i;}) and !exists($$i{'email'}) || do { do { Type::Tiny::XS::Str($$i{'email'}) } } and !exists($$i{'id'}) || do { do { Type::Tiny::XS::Str($$i{'id'}) } }
0 0 0 ref $i eq 'HASH' and not grep((!/\A(?:email|id|untag|user_id)\z/u), keys %{$i;}) and !exists($$i{'email'}) || do { do { Type::Tiny::XS::Str($$i{'email'}) } } and !exists($$i{'id'}) || do { do { Type::Tiny::XS::Str($$i{'id'}) } } and !exists($$i{'untag'}) || do { do { Type::Tiny::XS::Bool($$i{'untag'}) } }
0 0 0 ref $i eq 'HASH' and not grep((!/\A(?:company_id|id|untag)\z/u), keys %{$i;})
0 0 0 ref $i eq 'HASH' and not grep((!/\A(?:company_id|id|untag)\z/u), keys %{$i;}) and !exists($$i{'company_id'}) || do { do { Type::Tiny::XS::Str($$i{'company_id'}) } }
0 0 0 ref $i eq 'HASH' and not grep((!/\A(?:company_id|id|untag)\z/u), keys %{$i;}) and !exists($$i{'company_id'}) || do { do { Type::Tiny::XS::Str($$i{'company_id'}) } } and !exists($$i{'id'}) || do { do { Type::Tiny::XS::Str($$i{'id'}) } }
356 0 0 0 $#_ == 0 && ref $_[0] eq 'HASH'
386 0 0 0 $#_ == 0 && ref $_[0] eq 'HASH'
431 0 0 0 $#_ == 0 && ref $_[0] eq 'HASH'
0 0 0 defined $v and not ref $v
0 0 0 ref $v eq 'HASH' and not grep((!/\A(?:url|value)\z/u), keys %{$v;})
0 0 0 ref $v eq 'HASH' and not grep((!/\A(?:url|value)\z/u), keys %{$v;}) and exists $$v{'url'}
0 0 0 ref $v eq 'HASH' and not grep((!/\A(?:url|value)\z/u), keys %{$v;}) and exists $$v{'url'} and do { Type::Tiny::XS::Str($$v{'url'}) }
0 0 0 ref $v eq 'HASH' and not grep((!/\A(?:amount|currency)\z/u), keys %{$v;})
0 0 0 ref $v eq 'HASH' and not grep((!/\A(?:amount|currency)\z/u), keys %{$v;}) and exists $$v{'amount'}
0 0 0 ref $v eq 'HASH' and not grep((!/\A(?:amount|currency)\z/u), keys %{$v;}) and exists $$v{'amount'} and do { $$v{'amount'} =~ /\A-?[0-9]+\z/u if defined $$v{'amount'} }
0 0 0 ref $v eq 'HASH' and not grep((!/\A(?:amount|currency)\z/u), keys %{$v;}) and exists $$v{'amount'} and do { $$v{'amount'} =~ /\A-?[0-9]+\z/u if defined $$v{'amount'} } and exists $$v{'currency'}
483 0 0 0 $#_ == 0 && ref $_[0] eq 'HASH'
0 0 0 ref $from eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$from;})
0 0 0 ref $from eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$from;}) and !exists($$from{'email'}) || do { do { Type::Tiny::XS::Str($$from{'email'}) } }
0 0 0 ref $from eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$from;}) and !exists($$from{'email'}) || do { do { Type::Tiny::XS::Str($$from{'email'}) } } and !exists($$from{'id'}) || do { do { Type::Tiny::XS::Str($$from{'id'}) } }
0 0 0 ref $from eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$from;}) and !exists($$from{'email'}) || do { do { Type::Tiny::XS::Str($$from{'email'}) } } and !exists($$from{'id'}) || do { do { Type::Tiny::XS::Str($$from{'id'}) } } and exists $$from{'type'}
0 0 0 ref $from eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$from;}) and !exists($$from{'email'}) || do { do { Type::Tiny::XS::Str($$from{'email'}) } } and !exists($$from{'id'}) || do { do { Type::Tiny::XS::Str($$from{'id'}) } } and exists $$from{'type'} and do { $$from{'type'} =~ /$Types::Standard::_StrMatch{'(?^u:^(admin|user)$)'}/u if not ref $$from{'type'} }
0 0 0 ref $to eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$to;})
0 0 0 ref $to eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$to;}) and !exists($$to{'email'}) || do { do { Type::Tiny::XS::Str($$to{'email'}) } }
0 0 0 ref $to eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$to;}) and !exists($$to{'email'}) || do { do { Type::Tiny::XS::Str($$to{'email'}) } } and !exists($$to{'id'}) || do { do { Type::Tiny::XS::Str($$to{'id'}) } }
0 0 0 ref $to eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$to;}) and !exists($$to{'email'}) || do { do { Type::Tiny::XS::Str($$to{'email'}) } } and !exists($$to{'id'}) || do { do { Type::Tiny::XS::Str($$to{'id'}) } } and exists $$to{'type'}
0 0 0 ref $to eq 'HASH' and not grep((!/\A(?:email|id|type|user_id)\z/u), keys %{$to;}) and !exists($$to{'email'}) || do { do { Type::Tiny::XS::Str($$to{'email'}) } } and !exists($$to{'id'}) || do { do { Type::Tiny::XS::Str($$to{'id'}) } } and exists $$to{'type'} and do { $$to{'type'} =~ /$Types::Standard::_StrMatch{'(?^u:^(admin|user)$)'}/u if not ref $$to{'type'} }
485 0 0 0 defined $message_type and $message_type eq 'email'
516 0 0 0 $#_ == 1 && ref $_[1] eq 'HASH'

or 3 conditions

line l !l&&r !l&&!r condition
113 0 0 0 $OK{$_} or Carp::croak("Unknown named parameter: $_")
185 0 0 0 $OK{$_} or Carp::croak("Unknown named parameter: $_")
248 0 0 0 $OK{$_} or Carp::croak("Unknown named parameter: $_")
283 0 0 0 $OK{$_} or Carp::croak("Unknown named parameter: $_")
314 0 0 0 $OK{$_} or Carp::croak("Unknown named parameter: $_")
0 0 0 not exists $$i{'user_id'} or do { do { Type::Tiny::XS::Str($$i{'user_id'}) } }
0 0 0 !exists($$i{'email'}) || do { do { Type::Tiny::XS::Str($$i{'email'}) } }
0 0 0 !exists($$i{'id'}) || do { do { Type::Tiny::XS::Str($$i{'id'}) } }
0 0 0 !exists($$i{'untag'}) || do { do { Type::Tiny::XS::Bool($$i{'untag'}) } }
0 0 0 not exists $$i{'untag'} or do { do { Type::Tiny::XS::Bool($$i{'untag'}) } }
0 0 0 !exists($$i{'company_id'}) || do { do { Type::Tiny::XS::Str($$i{'company_id'}) } }
0 0 0 !exists($$i{'id'}) || do { do { Type::Tiny::XS::Str($$i{'id'}) } }
356 0 0 0 $OK{$_} or Carp::croak("Unknown named parameter: $_")
386 0 0 0 $OK{$_} or Carp::croak("Unknown named parameter: $_")
431 0 0 0 $OK{$_} or Carp::croak("Unknown named parameter: $_")
0 0 0 not exists $$v{'value'} or do { do { Type::Tiny::XS::Str($$v{'value'}) } }
0 0 0 defined $v and not ref $v or do { not exists $$v{'value'} or do { do { Type::Tiny::XS::Str($$v{'value'}) } } if ref $v eq 'HASH' and not grep((!/\A(?:url|value)\z/u), keys %{$v;}) and exists $$v{'url'} and do { Type::Tiny::XS::Str($$v{'url'}) } }
0 0 0 defined $v and not ref $v or do { not exists $$v{'value'} or do { do { Type::Tiny::XS::Str($$v{'value'}) } } if ref $v eq 'HASH' and not grep((!/\A(?:url|value)\z/u), keys %{$v;}) and exists $$v{'url'} and do { Type::Tiny::XS::Str($$v{'url'}) } } or do { if (ref $v eq 'HASH' and not grep((!/\A(?:amount|currency)\z/u), keys %{$v;}) and exists $$v{'amount'} and do { $$v{'amount'} =~ /\A-?[0-9]+\z/u if defined $$v{'amount'} } and exists $$v{'currency'}) { Type::Tiny::XS::Str($$v{'currency'}); } }
433 0 0 0 defined $user_id or defined $email
483 0 0 0 $OK{$_} or Carp::croak("Unknown named parameter: $_")
0 0 0 not exists $$from{'user_id'} or do { do { Type::Tiny::XS::Str($$from{'user_id'}) } }
0 0 0 !exists($$from{'email'}) || do { do { Type::Tiny::XS::Str($$from{'email'}) } }
0 0 0 !exists($$from{'id'}) || do { do { Type::Tiny::XS::Str($$from{'id'}) } }
0 0 0 not exists $$to{'user_id'} or do { do { Type::Tiny::XS::Str($$to{'user_id'}) } }
0 0 0 !exists($$to{'email'}) || do { do { Type::Tiny::XS::Str($$to{'email'}) } }
0 0 0 !exists($$to{'id'}) || do { do { Type::Tiny::XS::Str($$to{'id'}) } }
516 0 0 0 $OK{$_} or Carp::croak("Unknown named parameter: $_")

xor 4 conditions

line l&&r l&&!r !l&&r !l&&!r condition
115 0 0 0 0 defined $user_id xor defined $email
0 0 0 0 defined $user_id xor defined $email xor defined $id
320 0 0 0 0 defined $users xor defined $companies
387 0 0 0 0 defined $user_id xor defined $email
0 0 0 0 defined $user_id xor defined $email xor defined $id