Condition Coverage

lib/Sisimai/Fact.pm
Criterion Covered Total %
condition 125 159 78.6


and 3 conditions

line !l l&&!r l&&r condition
79 697 2929 12 not $argvs->{'delivered'} and index($e->{'status'}, "2.") == 0
80 659 2946 21 not $argvs->{'vacation'} and $e->{'reason'} eq "vacation"
304 3573 0 22 $p1 > 0 and $p2 > 0
437 299 20 5 $cv->[0] ne "" and $thing->{'command'} eq ""
438 309 15 0 $cv->[1] ne "" and "Sisimai::SMTP::Status"->is_explicit($thing->{'deliverystatus'}) == 0
439 0 319 5 $cv->[2] ne "" and "Sisimai::Reason"->is_explicit($thing->{'reason'}) == 0
475 257 308 15 $cr ne "mailboxfull" and $thing->{'command'} eq "RCPT"

or 2 conditions

line l !l condition
60 3501 1 shift() || (return undef)
63 3500 1 $argvs->{'data'} || (return undef)
65 3456 44 'Sisimai::Message'->rise($args1) || (return undef)
100 3605 0 $e->{'action'} // ""
3605 0 $e->{'alias'} // ""
728 2877 $mesg1->{'catch'} // undef
3605 0 $e->{'agent'} // ""
3605 0 $e->{'status'} // ""
3605 0 $e->{'diagnosis'} // ""
3605 0 $e->{'spec'} // ""
3605 0 $e->{'feedbacktype'} // ""
3599 6 $e->{'lhost'} // ""
3603 2 $argvs->{'origin'} // ""
3605 0 $e->{'reason'} // ""
3605 0 $e->{'recipient'} // ""
3605 0 $e->{'replycode'} // ""
3605 0 $e->{'rhost'} // ""
3605 0 $e->{'command'} // ""
3605 0 $e->{'toxic'} // 0
111 3333 0 'Sisimai::Address'->find($rfc822data->{$f}) || (next)
118 272 0 'Sisimai::Address'->find($mesg1->{'header'}{'to'}) || []
141 3605 0 'Sisimai::DateTime'->parse($v) || (next)
155 3605 0 $t->epoch - $zoneoffset // undef
162 3605 0 $mesg1->{'header'}{'received'} || []
252 1870 1725 'Sisimai::SMTP::Status'->find($piece->{'diagnosticcode'}) || ''
253 2585 1010 'Sisimai::SMTP::Reply'->find($piece->{'diagnosticcode'}, $cs) || ''
310 5 5 $piece->{'diagnostictype'} ||= "X-UNIX"
311 1861 1628 $piece->{'diagnostictype'} ||= "SMTP"
316 3605 0 $rfc822data->{'subject'} // ""
321 3605 0 'Sisimai::Address'->new($piece->{'addresser'}) || (next RISEOF)
322 3605 0 'Sisimai::Address'->new({'address', $piece->{'recipient'}}) || (next RISEOF)
336 54075 0 $piece->{$_} // ""
337 728 2877 $piece->{'catch'} // undef
341 5 1015 'Sisimai::SMTP::Reply'->find($piece->{'diagnosticcode'}) || ''
343 3605 0 $piece->{'timezoneoffset'} // "+0000"
372 425 2837 $thing->{'reason'} || 'undefined'
412 10 925 'Sisimai::SMTP::Reply'->find($piece->{'diagnosticcode'}, $cx->[0]) || ''
428 114 135 $thing->{'action'} ||= "delayed"
429 2071 1414 $thing->{'action'} ||= "failed"
430 3489 116 $thing->{'action'} ||= ""
443 109 3496 $rfc822data->{'feedback-id'} || ''
458 3599 0 shift() // (return 0)
459 3599 0 $thing->{'reason'} || 'undefined'
460 2564 1035 $thing->{'replycode'} || ''
461 3483 116 $thing->{'deliverystatus'} || ''
497 3611 0 shift() || (return '')
498 3610 1 shift() || (return '')
499 3609 1 shift() || (return '')
500 3608 1 shift() // (return "")
519 61707 2819 $self->$_ // ""
535 1485 38 shift() || 'json'

or 3 conditions

line l !l&&r !l&&!r condition
258 1423 1162 0 $piece->{'replycode'} ||= $cr
334 786 0 2819 $piece->{'alias'} || $ar->alias
336 0 37232 16843 $thing->{$_} ||= $piece->{$_} // ""
341 2585 5 1015 $thing->{'replycode'} ||= 'Sisimai::SMTP::Reply'->find($piece->{'diagnosticcode'}) || ''
349 2819 110 676 length $thing->{'alias'} == 0 or $thing->{'recipient'}->address ne $thing->{'alias'}
358 0 0 761 scalar @$or == 0 or length $or->[5] == 0
370 2837 425 343 $thing->{'reason'} eq "" or exists $$retryindex{$thing->{'reason'}}
383 4 111 3490 $thing->{'reason'} eq "delivered" or $thing->{'reason'} eq "feedback"
115 5 3485 $thing->{'reason'} eq "delivered" or $thing->{'reason'} eq "feedback" or $thing->{'reason'} eq "vacation"
429 461 3024 120 $cx->[0] eq 4 or $cx->[0] eq 5
444 6 1833 1766 $thing->{'toxic'} ||= __PACKAGE__->is_toxic($thing)
466 181 280 3138 index($cv, 4) == 0 or index($cw, 4) == 0