Branch Coverage

lib/Config/Grammar/Dynamic.pm
Criterion Covered Total %
branch 103 146 70.5


line true false branch
13 205 206 unless ref $what
15 0 106 $_ eq $what ? :
53 153 if /^ARRAY$/
16 101 52 if /^HASH$/
17 0 293 $what->{$_} eq $what ? :
18 52 0 if /^CODE$/
19 0 0 if /^Regexp$/
30 5 2 if (defined $self->{'section'}) { }
39 0 7 unless defined $s
40 0 7 unless (defined $self->{'grammar'}{$s})
45 1 6 if ($s =~ m[^/(.*)/$])
61 3 4 if ($self->{'grammar'}{'_recursive'} and grep {$_ eq $s;} @{$$self{'grammar'}{'_recursive'};})
68 0 3 if (exists $self->{'grammar'}{$name}{$s}) { }
87 5 2 if ($self->{'grammar'}{'_inherited'})
89 4 6 unless exists $self->{'cfg'}{$var}
91 0 6 unless defined $value
92 0 6 if ref $value
99 0 7 if (defined $self->{'grammar'}{'_order'})
100 0 0 if (defined $self->{'cfg'}{'_order_count'}) { }
108 0 7 if (defined $self->{'cfg'}{$name})
121 1 6 if (defined $self->{'grammar'}{'_varlist'})
133 0 7 if defined $order
139 1 6 if (defined $self->{'grammar'}{'_dyn'})
158 30 6 if ($old->{$listname})
160 30 0 if ($new->{$listname})
164 40 3 if exists $newlist{$v}
165 2 1 if ($docfunc) { }
194 0 0 unless @$l == $length
196 0 0 unless $k->[$i] eq $l->[$i]
211 1 8 if @vdoc
214 1 8 if @vdoc
217 0 9 if @vdoc
225 0 9 if @vdoc
228 0 4 unless exists $new->{$_}
230 0 4 if @vdoc
241 0 18 $tree->{'_mandatory'} && grep({$_ eq $var;} @{$$tree{'_mandatory'};}) ? :
245 12 6 if $tree->{$var}{'_doc'}
248 4 14 if $inherited
251 1 17 if $tree->{$var}{'_dyn'}
253 9 9 if $tree->{$var}{'_default'}
255 0 18 if $tree->{$var}{'_example'}
264 5 1 if ($tree->{'_vars'})
273 0 6 if ($tree->{'_text'})
275 0 0 if ($tree->{'_text'}{'_example'})
283 0 6 if ($tree->{'_table'})
294 0 0 if $tree->{'_table'}{$i}{'_example'}
297 4 2 if ($tree->{'_sections'})
298 2 2 if ($level > 0)
304 0 4 $tree->{'_mandatory'} && grep({$_ eq $section;} @{$$tree{'_mandatory'};}) ? :
306 2 2 $level > 0 ? :
309 0 4 if ($tree eq $tree->{$section})
314 0 4 if $tree->{$section}{'_doc'}
316 1 3 if $tree->{$section}{'_dyn'}
317 1 3 if ($tree->{'_recursive'} and grep {$_ eq $section;} @{$$tree{'_recursive'};})
322 3 1 unless $tree->{$section}{'_dyn'} and $tree->{$section}{'_dyndoc'}
330 1 2 if (@tdoc) { }
340 2 2 if $level > 0
342 5 1 if ($tree->{'_vars'})
344 15 1 unless $tree->{$var}{'_dyn'} and $tree->{$var}{'_dyndoc'}
352 1 1 if (@tdoc) { }
381 1 13 unless defined $gn
384 3 10 if (defined $self->{'grammar'}{'_varlist'})
388 12 1 if (defined $self->{'grammar'}{$gn})
392 0 12 if (defined $g->{'_re'})
393 0 0 unless ($value =~ /^$g->{'_re'}$/)
394 0 0 if (defined $g->{'_re_error'}) { }
403 5 7 if (defined $g->{'_sub'})
405 0 5 if (defined $error)
411 2 10 if (defined $g->{'_dyn'})
416 3 10 if ref $varlistref
437 1 2 unless $self->_parse_file($file)
439 0 2 unless $self->_goto_level(0, undef)
445 0 2 unless $self->_check_mandatory($self->{'grammar'}, $self->{'cfg'}, undef)