Branch Coverage

blib/lib/Config/IOD/Base.pm
Criterion Covered Total %
branch 111 168 66.0


line true false branch
56 0 140 if ($escaped)
62 0 140 if ($char eq '\\')
63 0 0 if ($single_quoted) { }
72 2 138 if ($char =~ /\s/)
73 0 2 if ($single_quoted or $double_quoted) { }
77 2 0 if defined $buf
83 5 133 if ($char eq '"')
84 0 5 if ($single_quoted)
92 0 133 if ($char eq q['])
93 0 0 if ($double_quoted)
103 15 7 if defined $buf
105 1 21 if ($escaped or $single_quoted or $double_quoted)
116 38 28 if ($val =~ /\A!/ and $self->{'enable_encoding'}) { }
11 17 elsif ($val =~ /\A"/ and $self->{'enable_quoting'}) { }
6 11 elsif ($val =~ /\A\[/ and $self->{'enable_bracket'}) { }
2 9 elsif ($val =~ /\A\{/ and $self->{'enable_brace'}) { }
1 8 elsif ($val =~ /\A~/ and $self->{'enable_tilde'}) { }
118 0 38 unless $val =~ s/!(\w+)(\s+)//
121 0 38 if $needs_res
131 8 30 if $enc eq 'j'
132 1 37 if $enc eq 'h'
133 7 31 if $enc eq 'e'
135 4 34 if ($self->{'allow_encodings'})
138 1 3 unless grep {$_ eq $enc;} @{$$self{'allow_encodings'};}
140 4 33 if ($self->{'disallow_encodings'})
143 3 1 if grep {$_ eq $enc;} @{$$self{'disallow_encodings'};}
146 13 21 if ($enc eq 'json') { }
4 17 elsif ($enc eq 'path' or $enc eq 'paths') { }
2 15 elsif ($enc eq 'hex') { }
2 13 elsif ($enc eq 'base64') { }
5 8 elsif ($enc eq 'none') { }
7 1 elsif ($enc eq 'expr') { }
151 0 13 unless $val =~ /\A (".*"|\[.*\]|\{.*\}|\S+) (\s*) (?: ([;#])(.*) )? \z/x
157 1 12 unless $decode_res->[0] == 200
163 0 4 unless $decode_res->[0] == 200
168 0 2 unless $val =~ /\A ([0-9A-Fa-f]*) (\s*) (?: ([;#])(.*) )? \z/x
174 0 2 unless $decode_res->[0] == 200
179 0 2 unless $val =~ m[\A ([A-Za-z0-9+/]*=*) (\s*) (?: ([;#])(.*) )? \z]x
185 0 2 unless $decode_res->[0] == 200
195 1 6 unless $self->{'enable_expr'}
198 0 6 unless $val =~ /\A ((?:[^#;])+?) (\s*) (?: ([;#])(.*) )? \z/x
204 1 5 unless $decode_res->[0] == 200
215 0 11 unless $val =~ /\A "( (?: \\\\ | # backslash \\. | # escaped something [^"\\]+ # non-doublequote or non-backslash )* )" (\s*) (?: ([;#])(.*) )? \z/x
224 0 11 if $needs_res
233 0 11 unless $decode_res->[0] == 200
240 0 6 unless $val =~ /\A \[(.*)\] (?: (\s*) ([#;])(.*) )? \z/x
247 0 6 if $needs_res
256 0 6 unless $decode_res->[0] == 200
263 0 2 unless $val =~ /\A \{(.*)\} (?: (\s*) ([#;])(.*) )? \z/x
270 0 2 if $needs_res
279 0 2 unless $decode_res->[0] == 200
284 0 1 unless $val =~ /\A ~(.*) (\s*) (?: ([;#])(.*) )? \z/x
289 0 1 if $needs_res
299 0 1 unless $decode_res->[0] == 200
304 0 8 unless $val =~ /\A (.*?) (\s*) (?: ([#;])(.*) )? \z/x
309 0 8 if $needs_res
324 0 1 if ($^O eq 'MSWin32') { }
327 0 1 if $ENV{'USER'}
330 1 0 if @pw
336 0 3 if ($^O eq 'MSWin32') { }
339 0 0 if $ENV{'HOME'}
340 0 0 if $ENV{'USERPROFILE'}
342 0 0 if $ENV{'HOMEDRIVE'} and $ENV{'HOMEPATH'}
344 3 0 if $ENV{'HOME'}
347 0 0 if @pw
357 0 1 if ($^O eq 'MSWin32') { }
364 1 0 if ($name eq getpwuid $<)
370 0 0 if $home and -d $home
381 3 0 if (eval { do { require Cpanel::JSON::XS; 1 } }) { }
390 1 59 if ($@) { }
400 2 3 if ($val =~ m[\A~([^/]+)?(?:/|\z)])
401 1 1 length $1 ? :
403 0 2 unless ($home_dir)
404 0 0 if (length $1) { }
414 2 3 if ($which eq 'path') { }
439 1 1 if ($arg =~ /(.+)\.(.+)/) { }
452 10 12 @{$self->{'_include_stack'};} ? :
464 6 39 if (@{$self->{'_include_stack'};})
471 0 45 unless my $abs_path = Cwd::abs_path($path)
473 1 44 if grep {$_ eq $abs_path;} @{$$self{'_include_stack'};}
482 0 32 unless @{$self->{'_include_stack'};}
493 23 41 unless $self->{'enable_expr'}
504 1 71 unless open my $fh, '<', $filename
518 0 39 unless $res->[0] == 200