Condition Coverage

blib/lib/Math/Expression.pm
Criterion Covered Total %
condition 140 180 77.7


and 3 conditions

line !l l&&!r l&&r condition
155 0 0 18 defined $$self{'PrintErrFunc'} and $$self{'PrintErrFunc'}
256 2278 0 104 $expr =~ /^(['"])/ and $expr =~ s/^($1)([^$1]*)$1//
296 1111 160 69 $operlast and defined $MonOp{$1}
335 3186 968 490 not @operators and $EndInput
346 4774 490 0 $EndInput and @operators == 0
356 490 4774 0 $newt and $$newt{'oper'} eq 'var' || $$newt{'oper'} eq 'const'
364 490 1084 2231 $newt and @operators
1574 1892 339 $newt and @operators and $operators[-1]{'oper'} eq '('
2976 154 185 $newt and @operators and $operators[-1]{'oper'} eq '(' and $$newt{'oper'} eq ')'
365 185 0 0 $EndInput and $#operators != 0
389 490 1084 2046 $newt and @operators
393 490 3130 0 $newt and !@operators || @operators && $NewOpPrec > $OperPrec{$operators[-1]{'oper'}}[0]
400 0 1683 50 @operators and $operators[-1]{'oper'} eq 'flow'
1683 0 50 @operators and $operators[-1]{'oper'} eq 'flow' and $newt
1683 8 42 @operators and $operators[-1]{'oper'} eq 'flow' and $newt and $$newt{'oper'} ne ';'
8 6 36 @operators and $operators[-1]{'oper'} eq 'flow' and $newt and $$newt{'oper'} ne ';' and $$newt{'oper'} ne 'EOF'
14 2 34 @operators and $operators[-1]{'oper'} eq 'flow' and $newt and $$newt{'oper'} ne ';' and $$newt{'oper'} ne 'EOF' and $$newt{'oper'} ne '}'
408 0 0 1699 @operators and $NewOpPrec <= $OperPrec{$operators[-1]{'oper'}}[0]
412 1490 131 78 $operators[-1]{'oper'} eq ';' and not defined $operators[-1]{'after'}
418 0 490 1131 @operators and $newt
490 1087 44 @operators and $newt and $operators[-1]{'oper'} eq '{'
1577 1 43 @operators and $newt and $operators[-1]{'oper'} eq '{' and $$newt{'oper'} eq '}'
422 9 0 34 @operators and $operators[-1]{'oper'} eq 'flow'
450 37 1031 45 $newt and $$op{'oper'} eq '['
1068 0 45 $newt and $$op{'oper'} eq '[' and $$newt{'oper'} eq ']'
484 1083 24 0 defined $MonVarOp{$$tree{'oper'}} and !defined($$tree{'right'}) || $$tree{'right'}{'oper'} ne '[' && $$tree{'right'}{'oper'} ne 'var'
489 1094 12 1 $$tree{'oper'} eq '?' and $$tree{'right'}{'oper'} ne ':'
495 955 0 91 not defined $$tree{'left'} and defined $$tree{'monop'}
507 50 11 0 $fname eq 'pop' || $fname eq 'shift' || $fname eq 'push' || $fname eq 'unshift' 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')
657 1306 0 68 not defined $$tree{'left'} and defined $$tree{'monop'}
701 6 1 43 $i == $#left and $i != $#right
725 0 121 0 $$self{'MaxLoopCount'} and ++$$self{'LoopCount'} > $$self{'MaxLoopCount'}
742 873 2 2 not defined $left and $oper ne ','
875 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 ';'
755 738 116 11 $oper eq ',' and $wantlv
759 4 4 2 $oper eq '&&' and not $left
760 4 2 2 $oper eq '||' and $left
831 0 0 0 $$self{'AutoInit'} and $left eq ''
841 1 0 0 $$self{'AutoInit'} and $right eq ''
876 61 0 0 defined $$self{'ExtraFuncEval'} and defined($res = $$self{'ExtraFuncEval'}(@_))

or 3 conditions

line l !l&&r !l&&!r condition
304 187 45 1108 $1 eq ')' or $1 eq ']'
343 3772 1492 487 @operators or $newt
356 614 845 3315 $$newt{'oper'} eq 'var' || $$newt{'oper'} eq 'const'
375 3130 0 490 $newt or $EndInput
393 1084 0 2046 !@operators || @operators && $NewOpPrec > $OperPrec{$operators[-1]{'oper'}}[0]
434 1 487 11 $$op{'oper'} eq ';' or $$op{'oper'} eq 'EOF'
443 92 61 960 $monop or $func
475 612 833 1107 $$tree{'oper'} eq 'var' or $$tree{'oper'} eq 'const'
479 0 0 1107 defined $MatchOp{$$tree{'oper'}} or defined $MatchOpClose{$$tree{'oper'}}
484 0 0 24 !defined($$tree{'right'}) || $$tree{'right'}{'oper'} ne '[' && $$tree{'right'}{'oper'} ne 'var'
495 91 955 0 not defined $$tree{'left'} and defined $$tree{'monop'} or $self->CheckTree($$tree{'left'})
507 2 3 50 $fname eq 'pop' || $fname eq 'shift' || $fname eq 'push' || $fname eq 'unshift'
0 0 11 !defined($$tree{'right'}{'oper'}) || $$tree{'right'}{'oper'} ne 'var' && $$tree{'right'}{'oper'} ne ',' && (!defined($$tree{'right'}{'left'}{'oper'}) || $$tree{'right'}{'left'}{'oper'} ne 'var')
620 72 41 1374 $oper eq '++' or $oper eq '--'
639 1 1 5 $index < 0 or $index > @left
758 6 4 844 $oper eq '&&' or $oper eq '||'
789 1 1 16 $index < 0 or $index > @left
907 6 1 16 $fname eq 'pop' or $fname eq 'shift'
915 1 3 12 $fname eq 'push' or $fname eq 'unshift'