Branch Coverage

blib/lib/Config/IOD/Base.pm
Criterion Covered Total %
branch 111 170 65.2


line true false branch
59 0 140 if ($escaped)
65 0 140 if ($char eq "\\")
66 0 0 if ($single_quoted) { }
75 2 138 if ($char =~ /\s/)
76 0 2 if ($single_quoted or $double_quoted) { }
80 2 0 if defined $buf
86 5 133 if ($char eq "\"")
87 0 5 if ($single_quoted)
95 0 133 if ($char eq "'")
96 0 0 if ($double_quoted)
106 15 7 if defined $buf
108 1 21 if ($escaped or $single_quoted or $double_quoted)
119 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'}) { }
121 0 38 unless $val =~ s/!(\w+)(\s+)//
124 0 38 if $needs_res
134 8 30 if $enc eq "j"
135 1 37 if $enc eq "h"
136 7 31 if $enc eq "e"
138 4 34 if ($self->{'allow_encodings'})
141 1 3 unless grep {$_ eq $enc;} @{$$self{"allow_encodings"};}
143 4 33 if ($self->{'disallow_encodings'})
146 3 1 if grep {$_ eq $enc;} @{$$self{"disallow_encodings"};}
149 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') { }
154 0 13 unless $val =~ /\A (".*"|\[.*\]|\{.*\}|\S+) (\s*) (?: ([;#])(.*) )? \z/x
160 1 12 unless $decode_res->[0] == 200
166 0 4 unless $decode_res->[0] == 200
171 0 2 unless $val =~ /\A ([0-9A-Fa-f]*) (\s*) (?: ([;#])(.*) )? \z/x
177 0 2 unless $decode_res->[0] == 200
182 0 2 unless $val =~ m[\A ([A-Za-z0-9+/]*=*) (\s*) (?: ([;#])(.*) )? \z]x
188 0 2 unless $decode_res->[0] == 200
198 1 6 unless $self->{'enable_expr'}
201 0 6 unless $val =~ /\A ((?:[^#;])+?) (\s*) (?: ([;#])(.*) )? \z/x
207 1 5 unless $decode_res->[0] == 200
218 0 11 unless $val =~ /\A "( (?: \\\\ | # backslash \\. | # escaped something [^"\\]+ # non-doublequote or non-backslash )* )" (\s*) (?: ([;#])(.*) )? \z/x
227 0 11 if $needs_res
236 0 11 unless $decode_res->[0] == 200
243 0 6 unless $val =~ /\A \[(.*)\] (?: (\s*) ([#;])(.*) )? \z/x
250 0 6 if $needs_res
259 0 6 unless $decode_res->[0] == 200
266 0 2 unless $val =~ /\A \{(.*)\} (?: (\s*) ([#;])(.*) )? \z/x
273 0 2 if $needs_res
282 0 2 unless $decode_res->[0] == 200
287 0 1 unless $val =~ /\A ~(.*) (\s*) (?: ([;#])(.*) )? \z/x
292 0 1 if $needs_res
302 0 1 unless $decode_res->[0] == 200
307 0 8 unless $val =~ /\A (.*?) (\s*) (?: ([#;])(.*) )? \z/x
312 0 8 if $needs_res
327 0 1 if ($^O eq 'MSWin32') { }
330 0 1 if $ENV{'USER'}
333 1 0 if @pw
339 0 3 if ($^O eq 'MSWin32') { }
342 0 0 if $ENV{'HOME'}
343 0 0 if $ENV{'USERPROFILE'}
345 0 0 if $ENV{'HOMEDRIVE'} and $ENV{'HOMEPATH'}
347 3 0 if $ENV{'HOME'}
350 0 0 if @pw
360 0 1 if ($^O eq 'MSWin32') { }
367 1 0 if ($name eq getpwuid $<)
373 0 0 if $home and -d $home
384 3 0 if (eval { do { require Cpanel::JSON::XS; 1 } }) { }
393 1 59 if ($@) { }
403 2 3 if ($val =~ m[\A~([^/]+)?(?:/|\z)])
404 1 1 length $1 ? :
406 0 2 unless ($home_dir)
407 0 0 if (length $1) { }
417 2 3 if ($which eq 'path') { }
442 1 1 if ($arg =~ /(.+)\.(.+)/) { }
455 0 0 @{$self->{'_include_stack'};} ? :
465 10 12 @{$self->{'_include_stack'};} ? :
477 6 39 if (@{$self->{'_include_stack'};})
484 0 45 unless my $abs_path = Cwd::abs_path($path)
486 1 44 if grep {$_ eq $abs_path;} @{$$self{"_include_stack"};}
495 0 32 unless @{$self->{'_include_stack'};}
506 23 41 unless $self->{'enable_expr'}
517 1 71 unless open my $fh, "<", $filename
531 0 39 unless $res->[0] == 200