Branch Coverage

blib/lib/Config/General.pm
Criterion Covered Total %
branch 203 306 66.3


line true false branch
111 32 8 if ($#param >= 1) { }
8 0 elsif ($#param == 0) { }
119 6 26 if (exists $conf{-'file'})
122 0 32 if (exists $conf{-'hash'})
127 8 24 if (exists $conf{-'ConfigFile'})
130 11 21 if (exists $conf{-'ConfigHash'})
135 0 32 if (exists $conf{-'ConfigPath'})
137 0 0 ref $configpath eq 'ARRAY' ? :
141 7 25 if (exists $conf{-'String'})
142 6 1 if (ref \$conf{-'String'} eq 'SCALAR') { }
143 6 0 if ($conf{-'String'})
153 0 31 if (exists $conf{-'Tie'})
154 0 0 if ($conf{-'Tie'})
160 1 30 if (exists $conf{-'FlagBits'})
161 1 0 if ($conf{-'FlagBits'} and ref $conf{-'FlagBits'} eq 'HASH')
168 2 29 if (exists $conf{-'DefaultConfig'})
169 1 1 if ($conf{-'DefaultConfig'} and ref $conf{-'DefaultConfig'} eq 'HASH') { }
1 0 elsif ($conf{-'DefaultConfig'} and ref $conf{-'DefaultConfig'} eq '') { }
185 0 28 if (not exists $$self{$key})
188 25 3 if ($conf{$entry} =~ /$$self{'AutoTrueFlags'}{'true'}/io) { }
1 2 elsif ($conf{$entry} =~ /$$self{'AutoTrueFlags'}{'false'}/io) { }
200 5 26 if ($$self{'MergeDuplicateOptions'})
202 5 0 if (not exists $conf{-'AllowMultiOptions'})
210 0 8 if (ref $$self{'ConfigFile'} eq 'HASH')
221 1 38 if ($$self{'SplitPolicy'} ne 'guess') { }
222 0 1 if ($$self{'SplitPolicy'} eq 'whitespace') { }
0 1 elsif ($$self{'SplitPolicy'} eq 'equalsign') { }
1 0 elsif ($$self{'SplitPolicy'} eq 'custom') { }
224 0 0 if (not $$self{'StoreDelimiter'})
230 0 0 if (not $$self{'StoreDelimiter'})
235 0 1 if (not $$self{'SplitDelimiter'})
244 38 0 if (not $$self{'StoreDelimiter'})
249 1 38 if ($$self{'InterPolateVars'} or $$self{'InterPolateEnv'})
260 0 1 if ($EVAL_ERROR)
268 39 0 if (not $$self{'parsed'})
269 1 38 if ($$self{'DefaultConfig'} and $$self{'InterPolateVars'})
272 6 33 if (exists $$self{'StringContent'}) { }
11 22 elsif (exists $$self{'ConfigHash'}) { }
0 22 elsif (ref $$self{'ConfigFile'} eq 'GLOB' or ref $$self{'ConfigFile'} eq 'FileHandle') { }
278 10 1 if (ref $$self{'ConfigHash'} eq 'HASH') { }
293 22 0 if ($$self{'ConfigFile'}) { }
296 0 22 if (file_name_is_absolute($$self{'ConfigFile'}))
300 0 0 if (not $$self{'ConfigPath'})
321 11 24 if ($$self{'ExtendedAccess'})
330 0 11 if ($EVAL_ERROR)
345 23 0 exists $$this{'config'} ? :
354 1 0 exists $$this{'files'} ? :
365 1 33 if ($$this{'IncludeGlob'} and $configfile =~ /[*?\[\{\\]/)
369 0 1 if (@include == 1) { }
383 3 30 if (not -e $configfile)
385 0 3 if (defined $$this{'ConfigPath'})
388 0 0 if (-e catfile($dir, $configfile))
395 3 0 if (not $found)
396 0 3 defined $$this{'ConfigPath'} ? :
402 0 30 if (not $RS)
407 1 29 if (-d $configfile and $$this{'IncludeDirectories'}) { }
29 0 elsif (-e _) { }
410 0 1 unless opendir INCLUDEDIR, $configfile
415 5 0 if (not $$this{'files'}{"$configfile/$_"})
416 0 5 unless $fh = 'IO::File'->new("$configfile/$_", 'r')
423 0 29 if (exists $$this{'files'}{$configfile}) { }
429 0 29 unless $fh = 'IO::File'->new("$configfile", 'r')
453 7 34 if ($flag and $flag eq 'SCALAR') { }
454 0 7 if (ref $fh eq 'ARRAY') { }
466 0 529 if ($$this{'AutoLaunder'})
467 0 0 if (/^(.*)$/)
474 529 0 if ($$this{'CComments'})
476 1 528 if (m[(\s*/\*.*\*/\s*)]) { }
13 515 elsif (m[^\s*/\*]) { }
13 502 elsif (m[\*/]) { }
482 0 13 if (m[\*/\s*$]) { }
491 0 13 if (not $c_comment)
497 149 380 if $c_comment
501 15 365 if ($hier)
503 4 11 if (/^(\s*)\Q$hierend\E\s*$/) { }
507 0 4 if ($indent) { }
534 2 363 if /^\s*#/
535 106 257 if /^\s*$/
539 0 257 $$this{'BackslashEscape'} ? :
540 6 251 if (/$extra\\$/)
548 0 251 if ($$this{'BackslashEscape'}) { }
558 1 250 if (m[\s*<([^/]+?.*?)/>$])
560 1 0 if (not $block =~ /"/)
561 1 0 if (not $block =~ /\s[^\s]/)
566 1 0 if ($$this{'SlashIsDirectory'})
581 247 3 if ($$this{'SplitPolicy'} eq 'guess') { }
582 5 242 if (/^\s*(\S+?)(\s*=\s*|\s+)<<\s*(.+?)\s*$/)
590 0 3 if (/^\s*(\S+?)($$this{'SplitDelimiter'})<<\s*(.+?)\s*$/)
603 2 243 if ($longline) { }
615 12 231 if ($$this{'IncludeRelative'} and defined $$this{'CurrentConfigFilePath'}) { }
0 231 elsif (defined $$this{'ConfigPath'}) { }
622 9 234 if (/^\s*<<include\s+(.+?)>>\s*$/i or /^\s*include\s+(.+?)\s*$/i and $$this{'UseApacheInclude'}) { }
624 4 5 if ($$this{'IncludeRelative'} and $path and not file_name_is_absolute($incl_file)) { }
667 4 365 if (/$indichar/) { }
671 362 3 if ($$this{'SplitPolicy'} eq 'guess') { }
682 4 365 if ($value and $value =~ /^"/ and $value =~ /"$/)
686 192 177 if (not defined $block) { }
13 164 elsif (m[^<([^/]+?.*?)>$]) { }
60 104 elsif (m[^</(.+?)>$]) { }
687 47 145 if (m[^<([^/]+?.*?)>$]) { }
0 145 elsif (m[^</(.+?)>$]) { }
689 1 46 if ($block =~ /^"([^"]+)"$/) { }
695 46 0 if ($block =~ /^(?:"([^"]+)"|(\S+))(?:\s+(?:"([^"]+)"|(.*)))?$/)
700 7 40 if ($$this{'InterPolateVars'})
704 3 4 if (defined $blockname)
708 0 47 if ($$this{'LowerCaseNames'})
719 0 145 if ($$this{'LowerCaseNames'})
722 22 123 if (exists $$config{$option}) { }
723 4 18 if ($$this{'MergeDuplicateOptions'}) { }
727 0 18 if (not $$this{'AllowMultiOptions'}) { }
733 11 7 if (ref $$config{$option} ne 'ARRAY')
742 0 18 if ($EVAL_ERROR) { }
763 13 47 if ($block_level) { }
768 18 29 if (defined $blockname) { }
771 14 4 if (not exists $$config{$block})
775 0 18 if (exists $$config{$block}{$blockname}) { }
0 18 elsif (ref $$config{$block} eq 'ARRAY') { }
776 0 0 if ($$this{'MergeDuplicateBlocks'}) { }
782 0 0 if (not $$this{'AllowMultiOptions'}) { }
789 0 0 if (ref $savevalue eq 'ARRAY') { }
812 2 27 if (exists $$config{$block}) { }
813 0 2 if ($$this{'MergeDuplicateBlocks'}) { }
819 0 2 if (not $$this{'AllowMultiOptions'}) { }
826 0 2 if (ref $savevalue eq 'ARRAY') { }
854 0 73 if ($block)
887 2 143 if (not defined $value)
891 14 131 if ($$this{'InterPolateVars'})
896 12 133 if ($$this{'AutoTrue'})
897 6 6 if ($value =~ /$$this{'AutoTrueFlags'}{'true'}/io) { }
6 0 elsif ($value =~ /$$this{'AutoTrueFlags'}{'false'}/io) { }
906 1 144 if ($$this{'FlagBits'})
907 1 0 if (exists $$this{'FlagBitsFlags'}{$option})
910 2 1 if (exists $__flags{$flag}) { }
948 0 0 if (@two and $one and scalar(@two) % 2 == 0) { }
968 0 3 if (not $file) { }
972 0 3 unless $fh = 'IO::File'->new("$file", 'w')
974 3 0 if (not $config) { }
975 3 0 if (exists $$this{'config'}) { }
986 3 0 if ($config_string) { }
1007 0 0 if (not $config or ref $config ne 'HASH') { }
1008 0 0 if (exists $$this{'config'}) { }
1034 4 27 if (ref $config{$entry} eq 'ARRAY') { }
10 17 elsif (ref $config{$entry} eq 'HASH') { }
1036 2 8 if (ref $line eq 'HASH') { }
1067 1 24 if ($line =~ /\n/ or $line =~ /\\$/) { }
1073 0 1 if ($line =~ /$tmplimiter/s) { }
1106 0 12 if ($entry =~ /\s/)
1126 0 81 if ($$this{'Tie'}) { }
1130 0 0 if ($EVAL_ERROR)
1160 0 1 if (not $file or not $hash) { }
1164 0 1 if (ref $hash ne 'HASH') { }
1181 0 0 if (not $hash) { }
1185 0 0 if (ref $hash ne 'HASH') { }