Branch Coverage

blib/lib/Config/General/Hierarchical.pm
Criterion Covered Total %
branch 187 188 99.4


line true false branch
49 42 188 if ($key eq 'file') { }
164 24 elsif ($properties{$key}) { }
19 5 elsif ($Config::General::Hierarchical::Options::options{$key}) { }
2 3 elsif ($Config_General_Proxy{$key}) { }
63 1 88 unless my $class = ref $ref || $ref
71 45 43 unless (%props)
87 45 0 unless $Config::General::Hierarchical::ExcludeWeaken::exclude
90 42 3 if $file
92 2 34 if $args{'check'}
104 3 5 if eval { do { $v->isa('Config::General::Hierarchical') } }
114 1 11 if ref $syntax ne 'HASH'
129 22 57 if ($ref) { }
130 1 21 if $ref ne 'HASH'
137 1 56 if defined $syn and not $syn =~ /^[amuABDEINST]*$/
141 1 4 if defined $syn and $syn =~ /m/ and syntax_check_get_type($syn) ne 'S' and not $syn =~ /a/
157 104 147 $self->name ? :
159 52 199 if (exists $self->cache->{$name})
162 43 9 unless scalar @names
163 6 3 if eval { do { $value->isa('Config::General::Hierarchical') } }
169 97 102 exists $self->constraint->{$name} ? :
175 159 40 if (not defined $value or ref $value->value ne 'HASH')
176 1 158 if scalar @names
195 33 3 unless scalar @names
208 132 606 if $name =~ /^_(\w+)$/
210 605 1 if $Config::General::Hierarchical::Options::options{$name}
224 1 1 unless $self->value
246 64 1 if $tmp
254 1 64 if $error
255 1 63 unless -e $name
256 1 62 if grep /^$name$/, map($$files[$_], @$children)
278 3 59 if ($@)
286 21 38 if (scalar @$children)
303 19 38 if ($inherits)
306 13 6 if (not ref $inherits) { }
5 1 elsif (ref $inherits eq 'ARRAY') { }
319 1 22 if ($parent =~ m[^/]) { }
346 1 128 if exists $$hash{$syntax}
355 70 192 if (ref $$hash{$key} eq 'HASH')
359 18 243 unless defined $$hash{$key}
364 13 114 if ($undefined)
365 6 7 if (not ref $undefined) { }
6 1 elsif (ref $undefined eq 'ARRAY') { }
387 132 228 if (ref $val eq 'Config::General::Hierarchical::Value') { }
80 148 elsif (ref $val eq 'HASH') { }
388 44 88 exists $$hash{$key} ? :
396 48 84 if (ref $val->value eq 'HASH') { }
13 96 elsif (not ref $syn and $syn =~ /m/ and defined $other) { }
397 20 28 if (ref $other eq 'HASH')
402 3 10 if ($syn =~ /a/) { }
403 2 1 unless ref $other
405 1 2 if (ref $val->value) { }
418 8 72 if (exists $$hash{$key} and ref $$hash{$key} eq 'HASH')
425 197 72 unless exists $$value{$key}
437 2 78 if ($wv and ref $wv->value eq 'HASH')
443 2 3 if $key eq $wild
444 1 2 if ref $v ne 'HASH'
447 3 1 unless exists $$v{$wk}
455 3 213 if $key eq $wild
456 166 47 if ref $v ne 'HASH'
466 229 87 unless exists $$undefined{$key}
468 69 18 if (defined $$undefined{$key}) { }
498 146 52 if (defined $value and ref $value eq 'Config::General::Hierarchical::Value')
506 102 96 if (defined $syntax) { }
91 5 elsif (defined $value) { }
507 22 80 ref $syntax ? :
511 19 70 ref $value ? :
89 2 if ref $value ne 'ARRAY'
518 25 82 unless (defined $value)
519 12 13 if ($can_be_undefined)
520 2 10 if ref $syntax
521 1 9 if $syntax =~ /a/
522 1 8 if $syntax =~ /B/
529 19 63 if (ref $syntax)
530 17 2 if eval { do { $value->isa('Config::General::Hierarchical') } }
537 40 23 unless ($syntax =~ /a/)
538 2 38 if ref $value eq 'ARRAY'
541 3 35 if ref $value
547 8 27 if $type eq 'S'
552 15 12 unless $value =~ /$types{$type}{'e'}/i
556 10 2 if $type ne 'B'
557 1 1 $value =~ /(1|on|yes|true)/i ? :
562 19 4 $ref ? :
564 1 22 if $ref and $ref ne 'ARRAY'
567 8 14 if ($type eq 'S') { }
578 1 31 unless $value =~ /$types{$type}{'e'}/i
594 46 326 if $syntax =~ /$_/
619 12 625 if ($c == 92 and scalar @arr) { }
11 614 elsif ($c == 36 and scalar @arr and $arr[0] == 123) { }
622 11 1 if ($back_slash{$n}) { }
638 2 9 if $i == scalar @arr
641 1 8 unless $self->opt->root
649 3 5 if $@
651 1 4 if ref $v
655 1 3 unless defined $v