Branch Coverage

blib/lib/Math/Formula.pm
Criterion Covered Total %
branch 66 78 84.6


line true false branch
37 0 68 unless my $name = $self->{'MSBE_name'} = $args->{'_name'}
38 0 68 unless my $expr = $args->{'_expr'}
41 2 66 if (ref $expr eq 'SCALAR') { }
0 119 elsif (not ref $expr and $returns and $returns->isa('MF::STRING')) { }
125 0 297 if $parens_open
133 263 297 if @$t < 2
138 5 592 if ($first->isa("MF::PARENS"))
143 5 20 if $node->isa("MF::PARENS") and $node->level == $level
150 38 554 if (ref $first eq "MF::OPERATOR")
153 6 32 if ($op eq "#" or $op eq ".")
161 0 32 unless my $next = $self->_build_ast($t, $prio)
169 266 288 unless my $next = $t->[0]
172 2 286 if (ref $next ne "MF::OPERATOR")
173 2 0 if ($next->isa('MF::TIMEZONE')) { }
185 0 288 unless @$t
190 24 264 if $next_prio < $prio or $next_prio == $prio and $assoc == 1
194 7 257 if ($op eq ":")
199 7 250 if ($op eq "?")
202 0 0 $next ? :
0 7 unless $colon and $colon->token eq ":"
222 7 0 $expr->isa('Math::Formula::Type') ? :
264 7 !&blessed($expr) ? :
4 271 ref $expr eq 'CODE' ? :
230 2 273 $result && $expect && !$result->isa($expect) ? :
239 8 14 if (&blessed($data))
240 4 4 if $data->isa("Math::Formula::Type")
241 1 3 if $data->isa("DateTime")
242 1 2 if $data->isa("DateTime::Duration")
243 1 1 if $data->isa("Math::Formula::Context")
257 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' ? :