Branch Coverage

blib/lib/Data/Reach.pm
Criterion Covered Total %
branch 87 102 85.2


line true false branch
22 8 405 unless defined $root
23 153 252 unless @path
25 1 251 unless defined $path0
28 52 199 &blessed($root) ? :
39 127 79 if ($reftype eq 'HASH') { }
72 7 elsif ($reftype eq 'ARRAY') { }
43 71 1 if ($key =~ /^-?\d+$/) { }
51 3 0 defined ref $data ? :
4 3 $reftype ? :
54 0 7 $kind =~ /^[aeiou]/i ? :
71 9 43 if $obj->can($meth_name)
74 41 2 if ($use_overloads)
77 32 9 if overload::Method($obj, "\@{}") and $key =~ /^-?\d+$/
79 2 7 if overload::Method($obj, "%{}")
83 7 2 if ($peek_blessed) { }
106 124 0 if ($max_depth)
107 9 115 if ($recurse eq 'ARRAY' and @$tree || $ignore_empty_subtrees) { }
19 96 elsif ($recurse eq 'HASH' and (my(@k) = sort(keys %$tree)) || $ignore_empty_subtrees) { }
4 92 elsif (&blessed($tree)) { }
115 1 3 if (my $meth_name = $hint_hash->{'Data::Reach/paths_method'})
116 1 0 if ($tree->can($meth_name))
125 0 1 $peek_blessed ? :
0 1 $use_overloads && overload::Method($tree, '%{}') ? :
2 1 $use_overloads && overload::Method($tree, '@{}') ? :
131 2 1 if $recurse
159 93 93 $is_consumed++ ? :
162 0 1 $peek_blessed ? :
0 1 $use_overloads && overload::Method($tree, '%{}') ? :
2 1 $use_overloads && overload::Method($tree, '@{}') ? :
1 3 $paths_method && $tree->can($paths_method) ? :
118 4 !&blessed($tree) ? :
170 91 31 if (not $recurse && $recurse =~ /^(OBJECT|HASH|ARRAY)$/ && $max_depth) { }
174 10 0 $recurse eq 'ARRAY' ? :
20 10 $recurse eq 'HASH' ? :
1 30 $recurse eq 'OBJECT' ? :
178 2 29 if (not @paths and $keep_empty_subtrees) { }
186 145 231 unless ($next_subpath)
187 116 29 if (not $is_consumed and @paths) { }
196 231 116 if (my($subpath, $subval) = &$next_subpath()) { }
229 3 12 unless @_
234 3 11 if ($option =~ /$exported_functions/) { }
3 8 elsif ($option eq 'as') { }
5 3 elsif ($option =~ /^(reach|call)_method$/) { }
1 2 elsif ($option eq 'paths_method') { }
2 0 elsif ($option =~ /$hint_options/) { }
239 1 2 unless my $alias = shift()
244 0 5 if $1 eq "call"
245 0 5 unless my $method = shift()
250 0 1 unless my $method = shift()
265 17 0 if $alias
273 7 0 if $option =~ /$hint_options/