Branch Coverage

blib/lib/Hash/Layout.pm
Criterion Covered Total %
branch 106 162 65.4


line true false branch
48 0 9 unless &looks_like_number($index)
51 0 9 unless $self->levels->[$index]
96 11 1 if ($self->allow_deep_values)
98 0 76 if $Lvl->delimiter and $Lvl->delimiter eq $self->deep_delimiter
115 0 7 unless &blessed($self)
116 4 3 if (scalar @args == 1)
117 1 3 if (ref $args[0]) { }
0 3 elsif (not defined $args[0]) { }
118 1 0 if &blessed($args[0]) and &blessed($args[0]) eq 'Hash::Layout'
119 0 0 if ref $args[0] eq 'ARRAY'
126 6 0 scalar @args > 0 ? :
131 0 50 unless defined $key_str
132 0 50 if scalar @addl > 0
144 2 61 if $self->lookup_mode eq 'get'
146 0 61 unless defined $path[0]
152 28 33 if ($self->exists_path(@path))
154 8 8 unless ref $val and ref $val eq 'HASH' and $self->lookup_mode eq 'merge'
159 8 0 if ref $val and ref $val eq 'HASH'
166 30 45 unless $self->exists_path(@$dpath)
168 6 39 unless $self->lookup_mode eq 'merge'
169 23 16 if (ref $val and ref $val eq 'HASH') { }
171 20 3 $hash_val ? :
177 0 16 $hash_val ? :
190 0 0 ref $v && ref $v eq 'HASH' && scalar keys %$v > 0 ? :
195 0 66 $self->enable_globmatch ? :
200 0 0 scalar @path == 1 ? :
205 0 0 if (match_glob($c_key, $key_str))
218 0 3 unless defined $key_str
219 0 3 if scalar @addl > 0
230 0 82 unless defined $path[0]
236 1 81 unless $value
241 0 0 unless defined $key_str
242 0 0 if scalar @addl > 0
251 0 142 unless defined $path[0]
254 77 65 if eval join('', 'exists $self->Data->', $ev_path)
255 0 65 $self->_lookup_path_globmatch(@path) ? :
260 0 4 unless defined $key_str
261 0 4 if scalar @addl > 0
270 0 6 unless defined $path[0]
273 2 4 unless $self->exists_path(@path)
322 372 142 $check_mask & $mask ? :
327 90 17 unless $seen_combo{join '/', @combo}++
343 74 297 if $index == 0
345 0 371 unless my $Lvl = $self->levels->[$index]
349 0 394 unless defined $arg
353 18 376 unless (ref $arg)
360 0 394 unless ref $arg eq 'HASH'
363 0 412 unless defined $key and not ref $key
368 412 0 if (defined $self->{'_fq_composite_prefix'})
371 347 65 if $Lvl->delimiter
377 56 356 if ($force_composite or $self->_is_composite_key($key, $index)) { }
382 56 0 if (scalar @path > 0) { }
395 222 134 if ($key eq $self->default_key)
401 304 52 if ($is_hashval) { }
403 15 289 if ($last_level) { }
413 52 0 if $c_key
416 42 314 if ($index == 0 and $$bmref)
435 0 9 unless my $Lvl = $self->levels->[$index]
438 3 6 if ($last_level) { }
444 6 0 scalar @path > 0 ? :
454 0 360 unless ref $hash and ref $hash eq 'HASH'
455 0 360 unless scalar @path > 0
462 0 360 unless ref $hval and ref $hval eq 'HASH'
472 0 3 unless scalar @_ == 3
473 0 3 unless $key and $key ne ''
482 588 0 scalar @path > 0 ? :
501 2955 353 if ($Lvl) { }
502 5 11 if $Lvl->registered_keys and $Lvl->registered_keys->{$key}
506 353 0 if ($self->allow_deep_values) { }
524 817 133 if ($Lvl) { }
526 210 607 if ($peeled) { }
529 192 18 if $leftover
533 0 18 $last_level ? :
541 146 461 $self->no_pad || $as_is ? :
545 132 1 if ($self->allow_deep_values) { }
558 0 12 unless ref $val and ref $val eq 'ARRAY'
564 0 79 if &blessed($itm)
566 0 79 unless ref $itm and ref $itm eq 'HASH'
571 0 79 if $itm->{'name'} and $seen{$itm->{'name'}}++
577 0 12 if scalar @$val == ++$i and $itm->{'delimiter'}
585 0 12 unless scalar @new > 0