Condition Coverage

blib/lib/Math/Expression.pm
Criterion Covered Total %
condition 142 180 78.8


and 3 conditions

line !l l&&!r l&&r condition
164 0 18 0 defined $self->{'PrintErrFunc'} and $self->{'PrintErrFunc'}
266 2357 0 107 $expr =~ /^(['"])/ and $expr =~ s/^($1)([^$1]*)$1//
306 1139 179 69 $operlast and defined $MonOp{$1}
315 1365 17 5 $ln eq '(' and $1 eq ')'
349 3292 1007 514 not @operators and $EndInput
363 4922 514 0 $EndInput and @operators == 0
373 514 4922 0 $newt and $newt->{'oper'} eq 'var' || $newt->{'oper'} eq 'const'
381 514 1126 2300 $newt and @operators
1640 1942 358 $newt and @operators and $operators[-1]{'oper'} eq '('
3068 158 200 $newt and @operators and $operators[-1]{'oper'} eq '(' and $newt->{'oper'} eq ')'
382 200 0 0 $EndInput and $#operators != 0
406 514 1126 2100 $newt and @operators
410 514 3226 0 $newt and !@operators || @operators && $NewOpPrec > $OperPrec{$operators[-1]{'oper'}}[0]
417 0 1735 51 @operators and $operators[-1]{'oper'} eq 'flow'
1735 0 51 @operators and $operators[-1]{'oper'} eq 'flow' and $newt
1735 8 43 @operators and $operators[-1]{'oper'} eq 'flow' and $newt and $newt->{'oper'} ne ';'
8 6 37 @operators and $operators[-1]{'oper'} eq 'flow' and $newt and $newt->{'oper'} ne ';' and $newt->{'oper'} ne 'EOF'
14 2 35 @operators and $operators[-1]{'oper'} eq 'flow' and $newt and $newt->{'oper'} ne ';' and $newt->{'oper'} ne 'EOF' and $newt->{'oper'} ne '}'
425 0 0 1751 @operators and $NewOpPrec <= $OperPrec{$operators[-1]{'oper'}}[0]
429 1540 132 79 $operators[-1]{'oper'} eq ';' and not defined $operators[-1]{'after'}
435 0 514 1158 @operators and $newt
514 1113 45 @operators and $newt and $operators[-1]{'oper'} eq '{'
1627 1 44 @operators and $newt and $operators[-1]{'oper'} eq '{' and $newt->{'oper'} eq '}'
439 9 0 35 @operators and $operators[-1]{'oper'} eq 'flow'
470 38 1057 45 $newt and $op->{'oper'} eq '['
1095 0 45 $newt and $op->{'oper'} eq '[' and $newt->{'oper'} eq ']'
503 1110 24 0 defined $MonVarOp{$tree->{'oper'}} and !defined($tree->{'right'}) || $tree->{'right'}{'oper'} ne '[' && $tree->{'right'}{'oper'} ne 'var'
508 1121 12 1 $tree->{'oper'} eq '?' and $tree->{'right'}{'oper'} ne ':'
514 973 0 91 not defined $tree->{'left'} and defined $tree->{'monop'}
526 56 14 0 $InFunLV{$fname} and !defined($tree->{'right'}{'oper'}) || $tree->{'right'}{'oper'} ne 'var' && $tree->{'right'}{'oper'} ne ',' && (!defined($tree->{'right'}{'left'}{'oper'}) || $tree->{'right'}{'left'}{'oper'} ne 'var')
676 1323 0 68 not defined $tree->{'left'} and defined $tree->{'monop'}
720 6 1 44 $i == $#left and $i != $#right
744 0 121 0 $self->{'MaxLoopCount'} and ++$self->{'LoopCount'} > $self->{'MaxLoopCount'}
761 881 2 2 not defined $left and $oper ne ','
883 2 0 not defined $left and $oper ne ',' and $oper ne '.'
4 0 0 not defined $left and $oper ne ',' and $oper ne '.' and $oper ne ';'
774 740 121 12 $oper eq ',' and $wantlv
778 4 4 2 $oper eq '&&' and not $left
779 4 2 2 $oper eq '||' and $left
850 0 0 0 $self->{'AutoInit'} and $left eq ''
860 1 0 0 $self->{'AutoInit'} and $right eq ''
895 8 54 8 defined $self->{'ExtraFuncEval'} and defined($res = $self->{'ExtraFuncEval'}->(@_))

or 3 conditions

line l !l&&r !l&&!r condition
318 197 45 1140 $1 eq ')' or $1 eq ']'
360 3888 1548 511 @operators or $newt
373 634 862 3426 $newt->{'oper'} eq 'var' || $newt->{'oper'} eq 'const'
392 3226 0 514 $newt or $EndInput
410 1126 0 2100 !@operators || @operators && $NewOpPrec > $OperPrec{$operators[-1]{'oper'}}[0]
451 1 511 11 $op->{'oper'} eq ';' or $op->{'oper'} eq 'EOF'
461 92 70 978 $monop or $func
494 637 850 1134 $tree->{'oper'} eq 'var' or $tree->{'oper'} eq 'const'
498 0 0 1134 defined $MatchOp{$tree->{'oper'}} or defined $MatchOpClose{$tree->{'oper'}}
503 0 0 24 !defined($tree->{'right'}) || $tree->{'right'}{'oper'} ne '[' && $tree->{'right'}{'oper'} ne 'var'
514 91 973 0 not defined $tree->{'left'} and defined $tree->{'monop'} or $self->CheckTree($tree->{'left'})
526 0 0 14 !defined($tree->{'right'}{'oper'}) || $tree->{'right'}{'oper'} ne 'var' && $tree->{'right'}{'oper'} ne ',' && (!defined($tree->{'right'}{'left'}{'oper'}) || $tree->{'right'}{'left'}{'oper'} ne 'var')
639 72 41 1391 $oper eq '++' or $oper eq '--'
658 1 1 5 $index < 0 or $index > @left
777 6 4 851 $oper eq '&&' or $oper eq '||'
808 1 1 16 $index < 0 or $index > @left
926 6 1 17 $fname eq 'pop' or $fname eq 'shift'
934 2 3 12 $fname eq 'push' or $fname eq 'unshift'