Branch Coverage

blib/lib/Math/Formula.pm
Criterion Covered Total %
branch 64 76 84.2


line true false branch
37 0 66 unless my $name = $self->{'MSBE_name'} = $args->{'_name'}
38 0 66 unless my $expr = $args->{'_expr'}
41 2 64 if (ref $expr eq 'SCALAR') { }
0 115 elsif (not ref $expr and $returns and $returns->isa('MF::STRING')) { }
122 0 266 if $parens_open
130 234 262 if @$t < 2
135 5 522 if ($first->isa("MF::PARENS"))
140 5 20 if $node->isa("MF::PARENS") and $node->level == $level
147 36 486 if (ref $first eq "MF::OPERATOR")
150 6 30 if ($op eq "#" or $op eq ".")
158 0 30 unless my $next = $self->_build_ast($t, $prio)
166 236 250 unless my $next = $t->[0]
169 0 250 unless ref $next eq "MF::OPERATOR"
174 0 250 unless @$t
179 19 231 if $next_prio < $prio or $next_prio == $prio and $assoc == 1
183 7 224 if ($op eq ":")
188 7 217 if ($op eq "?")
191 0 0 $next ? :
0 7 unless $colon and $colon->token eq ":"
211 7 0 $expr->isa('Math::Formula::Type') ? :
235 7 !&blessed($expr) ? :
4 242 ref $expr eq 'CODE' ? :
219 2 244 $result && $expect && !$result->isa($expect) ? :
228 8 14 if (&blessed($data))
229 4 4 if $data->isa("Math::Formula::Type")
230 1 3 if $data->isa("DateTime")
231 1 2 if $data->isa("DateTime::Duration")
232 1 1 if $data->isa("Math::Formula::Context")
246 4 0 $data =~ /^(['"]).*\1$/ ? :
1 4 $data =~ /$_match{'MF::DURATION'}/ ? :
2 5 $data =~ /$_match{'MF::DATE'}/ ? :
2 7 $data =~ /$_match{'MF::TIME'}/ ? :
1 9 $data =~ /$_match{'MF::DATETIME'}/ ? :
1 10 ref $data eq 'Regexp' ? :
1 11 $data =~ /^(?:true|false)$/ ? :
1 12 $data =~ /^[+-]?[0-9]+\./ ? :
1 13 $data =~ /^[+-]?[0-9]+$/ ? :
1 14 ref $data eq 'SCALAR' ? :