Condition Coverage

lib/Sisimai/Fact.pm
Criterion Covered Total %
condition 107 140 76.4


and 3 conditions

line !l l&&!r l&&r condition
80 701 2945 12 not $argvs->{'delivered'} and index($e->{'status'}, "2.") == 0
81 663 2962 21 not $argvs->{'vacation'} and $e->{'reason'} eq "vacation"
304 3593 0 22 $p1 > 0 and $p2 > 0
444 309 20 5 $cv->[0] ne "" and $thing->{'command'} eq ""
445 319 15 0 $cv->[1] ne "" and "Sisimai::SMTP::Status"->is_explicit($thing->{'deliverystatus'}) == 0
446 0 324 10 $cv->[2] ne "" and "Sisimai::Reason"->is_explicit($thing->{'reason'}) == 0

or 2 conditions

line l !l condition
61 3513 1 shift() || (return undef)
64 3512 1 $argvs->{'data'} || (return undef)
66 3471 41 'Sisimai::Message'->rise($args1) || (return undef)
100 3625 0 $e->{'action'} // ""
3625 0 $e->{'alias'} // ""
732 2893 $mesg1->{'catch'} // undef
3625 0 $e->{'agent'} // ""
3625 0 $e->{'status'} // ""
3625 0 $e->{'diagnosis'} // ""
3625 0 $e->{'spec'} // ""
3625 0 $e->{'feedbacktype'} // ""
3619 6 $e->{'lhost'} // ""
3623 2 $argvs->{'origin'} // ""
3625 0 $e->{'reason'} // ""
3625 0 $e->{'recipient'} // ""
3625 0 $e->{'replycode'} // ""
3625 0 $e->{'rhost'} // ""
3625 0 $e->{'command'} // ""
111 3379 0 'Sisimai::Address'->find($rfc822data->{$f}) || (next)
118 246 0 'Sisimai::Address'->find($mesg1->{'header'}{'to'}) || []
141 3625 0 'Sisimai::DateTime'->parse($v) || (next)
155 3625 0 $t->epoch - $zoneoffset // undef
162 3625 0 $mesg1->{'header'}{'received'} || []
252 1885 1730 'Sisimai::SMTP::Status'->find($piece->{'diagnosticcode'}) || ''
253 2600 1015 'Sisimai::SMTP::Reply'->find($piece->{'diagnosticcode'}, $cs) || ''
310 0 0 $piece->{'diagnostictype'} ||= "X-UNIX"
311 1856 1653 $piece->{'diagnostictype'} ||= "SMTP"
315 3625 0 $rfc822data->{'subject'} // ""
327 3625 0 'Sisimai::Address'->new($piece->{'addresser'}) || (next RISEOF)
328 3625 0 'Sisimai::Address'->new({'address', $piece->{'recipient'}}) || (next RISEOF)
342 54375 0 $piece->{$_} // ""
344 732 2893 $piece->{'catch'} // undef
347 5 1020 'Sisimai::SMTP::Reply'->find($piece->{'diagnosticcode'}) || ''
349 3625 0 $piece->{'timezoneoffset'} // "+0000"
379 260 3100 $thing->{'reason'} || 'undefined'
419 10 930 'Sisimai::SMTP::Reply'->find($piece->{'diagnosticcode'}, $cx->[0]) || ''
435 114 135 $thing->{'action'} ||= "delayed"
436 2071 1434 $thing->{'action'} ||= "failed"
437 3509 116 $thing->{'action'} ||= ""
450 109 3516 $rfc822data->{'feedback-id'} || ''
467 3631 0 shift() || (return '')
468 3630 1 shift() || (return '')
469 3629 1 shift() || (return '')
470 3628 1 shift() // (return "")
489 62043 2835 $self->$_ // ""
506 1493 38 shift() || 'json'

or 3 conditions

line l !l&&r !l&&!r condition
258 1423 1177 0 $piece->{'replycode'} ||= $cr
340 786 0 2839 $piece->{'alias'} || $ar->alias
342 0 37196 17179 $thing->{$_} ||= $piece->{$_} // ""
347 2600 5 1020 $thing->{'replycode'} ||= 'Sisimai::SMTP::Reply'->find($piece->{'diagnosticcode'}) || ''
356 2839 110 676 length $thing->{'alias'} == 0 or $thing->{'recipient'}->address ne $thing->{'alias'}
365 0 0 791 scalar @$or == 0 or length $or->[5] == 0
377 3100 260 265 $thing->{'reason'} eq "" or exists $$retryindex{$thing->{'reason'}}
390 4 111 3510 $thing->{'reason'} eq "delivered" or $thing->{'reason'} eq "feedback"
115 5 3505 $thing->{'reason'} eq "delivered" or $thing->{'reason'} eq "feedback" or $thing->{'reason'} eq "vacation"
436 441 3064 120 $cx->[0] eq 4 or $cx->[0] eq 5