Branch Coverage

blib/lib/App/RecordStream/KeySpec.pm
Criterion Covered Total %
branch 53 66 80.3


line true false branch
46 8768 213 if (exists $registry->{$spec})
91 14 2297 if (UNIVERSAL::isa($data, 'ARRAY'))
92 14 0 if ($search_string =~ /^#(\d+)$/) { }
100 2257 40 unless $fuzzy
104 6 34 if (my $key = _search_string_to_key($key_chain, $search_string))
109 9 25 if (defined $data->{$search_string}) { }
115 8 61 if ($key =~ /^\Q$search_string\E/i)
121 18 16 unless ($found_key)
124 5 39 if ($key =~ /$search_string/i)
130 14 20 unless ($found_key)
143 1 2696 if ($@ =~ /^NoSuchKey/) { }
0 2696 elsif ($@) { }
174 37 176 if (substr($spec, 0, 1) eq '@')
186 30 790 if ($current_char eq '/' and $last_char ne '\\') { }
193 1 789 if ($current_char eq '/')
203 213 0 if ($current_key ne '')
223 6699 224 if (my $code = $keylookup_hash->{$args_string})
251 0 222 if (scalar @$keys == 0)
260 0 222 if $throw_error
265 13 233 if ($key =~ /^#(\d+)$/) { }
283 0 222 if ($no_vivify or $throw_error)
290 0 222 if ($@)
303 0 2311 if ($type eq 'SCALAR' or UNIVERSAL::isa(\$data, 'SCALAR'))
311 14 2297 if ($type eq 'ARRAY') { }
316 3 2294 if ($no_vivify and not exists $data->{$key})
317 3 0 $return_key_chain ? :
323 31 2277 if (scalar @next_strings > 0)
324 9 22 unless (defined $$value)
325 2 7 if $throw_error
327 0 7 if ($no_vivify)
328 0 0 $return_key_chain ? :
331 3 4 if (substr($next_strings[0], 0, 1) eq '#') { }
349 2277 0 $return_key_chain ? :