Branch Coverage

blib/lib/Jmespath/TreeInterpreter.pm
Criterion Covered Total %
branch 84 94 89.3


line true false branch
32 760 0 unless (defined $options)
34 0 760 if defined $options->{'hash_cls'}
36 0 760 if defined $options->{'custom_functions'}
101 0 466 unless (defined &$comparator_func)
124 1 207 unless (defined &$function)
142 8 74 if ref $base ne 'ARRAY'
143 0 74 if scalar @$base == 0
153 206 241 if ($self->_is_true($cnode_result))
155 203 3 if (defined $current)
167 12 81 if ref $base ne 'ARRAY'
171 87 99 if (ref $element eq 'ARRAY') { }
183 9 615 unless defined $value
186 0 615 if $value =~ /^[-][0-9]+$/
192 53 169 if ref $value ne 'ARRAY'
224 17 21 defined $node->{'children'}[2] ? :
227 2 36 if ref $value ne 'ARRAY'
230 1 35 if ($step == 0)
233 0 35 if (scalar @{$node->{'children'};} > 3)
240 13 22 if (not defined $node->{'children'}[0] and $step > 0) { }
4 18 elsif (not defined $node->{'children'}[0] and $step < 0) { }
1 17 elsif ($node->{'children'}[0] < 0) { }
262 11 24 if (not defined $node->{'children'}[1] and $step > 0) { }
3 21 elsif (not defined $node->{'children'}[1] and $step < 0) { }
2 19 elsif ($node->{'children'}[1] < 0 and $step < 0) { }
2 17 elsif ($node->{'children'}[1] < 0 and $step > 0) { }
281 27 8 if ($step > 0) { }
284 16 153 if $idx == scalar(@$value) - 1
290 4 49 if $idx == 0
308 4 38 unless defined $value
312 0 68 unless defined $child->{'value'}
320 4 42 unless defined $value
321 0 42 if scalar @{$node->{'children'};} == 0
326 67 9 defined $result ? :
335 34 30 if ($self->_is_false($matched))
345 12 24 if $self->_is_false($matched)
354 14 10 if $self->_is_false($original_result) == 1
370 30 169 if ref $base ne 'ARRAY'
375 522 198 if defined $current
389 17 46 if scalar @basekeys == 0
393 69 34 if defined $current
400 14 557 unless defined $value
403 273 284 if ref $value eq 'JSON::PP::Boolean' and $value == JSON::false()
404 243 41 if ref $value eq 'JSON::PP::Boolean' and $value == JSON::true()
405 10 31 if ref $value eq 'ARRAY' and scalar @$value == 0
406 2 29 if ref $value eq 'HASH' and scalar keys %$value == 0
407 0 29 if ref $value eq 'SCALAR' and $value eq ''
408 2 27 if $value eq ''