Branch Coverage

blib/lib/Hash/DefHash.pm
Criterion Covered Total %
branch 97 130 74.6


line true false branch
28 1 5 if &blessed($_[0]) and $_[0]->isa('Hash::DefHash')
40 43 19 if ($opts{'check'} // 1)
57 76 19 if $k =~ /$re_key/
69 0 11 unless my($p_prop, $p_prop_of_attr, $p_attr) = $k =~ /$re_key/
72 2 9 if (defined $p_prop) { }
73 1 1 if $p_prop =~ /\A_/
77 4 5 if $p_attr =~ /(?:\A|\.)_/
90 0 11 unless my($p_prop, $p_prop_of_attr, $p_attr) = $k =~ /$re_key/
92 9 2 unless defined $p_prop
93 1 1 if $p_prop =~ /\A_/
107 10 44 if ($opts->{'alt'}) { }
116 0 17 unless my($p_prop, $p_prop_of_attr, $p_attr) = $k =~ /$re_key/
119 9 8 if (defined $p_prop) { }
120 1 8 unless $p_prop eq $prop
123 0 8 unless $p_prop_of_attr eq $prop
124 0 8 unless $p_attr =~ /\Aalt\./
133 16 0 if ($opt_mark_different_lang) { }
135 16 0 if $an eq 'lang'
136 0 0 unless defined $prop_alt{$an}
137 0 0 unless $prop_alt{$an} eq $alt{$an}
139 9 7 if ($alt{'lang'} eq $prop_alt{'lang'}) { }
6 1 elsif (not $has_v_different_lang) { }
148 0 0 unless defined $prop_alt{$an}
149 0 0 unless $prop_alt{$an} eq $alt{$an}
155 1 0 if ($opt_mark_different_lang and $has_v_different_lang) { }
158 0 0 if $opt_die
162 2 42 if not exists $h->{$prop} and $opt_die
169 38 0 !defined($opts) ? :
186 0 2 unless $prop =~ /$re_prop/
187 1 1 if exists $h->{$prop}
195 0 3 unless $prop =~ /$re_prop/
196 1 2 if (exists $h->{$prop}) { }
210 0 2 unless $prop =~ /$re_prop/
211 1 1 if (exists $h->{$prop}) { }
223 0 22 unless my($p_prop, $p_prop_of_attr, $p_attr) = $k =~ /$re_key/
225 2 20 if defined $p_prop and $p_prop =~ /\A_/
226 8 12 if defined $p_attr and $p_attr =~ /(?:\A|\.)_/
227 10 2 if (defined $p_attr) { }
228 5 5 if $delattrs
240 4 2 unless ($prop eq '')
241 0 4 unless $prop =~ /$re_prop/
246 0 56 unless my($p_prop, $p_prop_of_attr, $p_attr) = $k =~ /$re_key/
248 12 44 if defined $p_prop
251 31 13 unless $p_prop_of_attr eq $prop
252 8 5 if $p_attr =~ /(?:\A|\.)_/
264 2 9 unless exists $h->{$k}
291 3 2 if ($prop ne '')
292 0 3 unless $prop =~ /$re_prop/
294 0 5 unless $attr =~ /$re_attr_part/
297 2 3 if exists $h->{$k}
306 2 2 if ($prop ne '')
307 0 2 unless $prop =~ /$re_prop/
309 0 4 unless $attr =~ /$re_attr_part/
311 2 2 if (exists $h->{$k}) { }
326 2 2 if ($prop ne '')
327 0 2 unless $prop =~ /$re_prop/
329 0 4 unless $attr =~ /$re_attr_part/
331 2 2 if (exists $h->{$k}) { }
344 0 20 unless my($p_prop, $p_prop_of_attr, $p_attr) = $k =~ /$re_key/
346 4 16 if defined $p_prop
348 8 8 if $p_attr =~ /(?:\A|\.)_/
349 4 4 unless $p_prop_of_attr eq $prop
367 17 18 if ($self->{'parent'})
371 1 34 if $res eq 'C'
398 10 0 !defined($opts) ? :