Branch Coverage

File:blib/lib/Config/Abstraction.pm
Coverage:57.0%

line%coveragebranch
322100TFif (scalar @_ == 1) { }
331100TFif (not defined $$params{"config_dirs"} and $$params{"file"})
335100TFunless (defined $$params{"config_dirs"})
336100TFif ($$params{'config_file'} and 'File::Spec'->file_name_is_absolute($$params{'config_file'})) { }
34050TFif ($^O ne 'MSWin32') { }
34550TFif ($ENV{'HOME'}) { }
0TFelsif ($ENV{'DOCUMENT_ROOT'}) { }
35650TFif (my $dir = $ENV{'CONFIG_DIR'}) { }
36650TF$$params{'defaults'} ? :
37150TFif (my $logger = $$self{"logger"})
3720TFunless (&Scalar::Util::blessed($logger))
3750TFif ($$params{"level"} and $$self{"logger"}->can("level"))
382100TFif (my $schema = $$params{"schema"})
386100TFif (defined $$self{"config"} and scalar keys %{$$self{"config"};})
39450TFunless (UNIVERSAL::isa((&CORE::GLOBAL::caller())[0], __PACKAGE__))
401100TFif ($$self{"data"})
40750TFif ($logger)
41250TFif ($$self{"config_file"} and scalar @dirs > 1)
4130TFif ('File::Spec'->file_name_is_absolute($$self{'config_file'})) { }
42250TFunless defined $dir
423100TFif (length $dir and not -d $dir)
42950TFif ($logger)
432100TFunless -f $path
43350TFunless -r $path
43550TFif ($logger)
441100TFif ($file =~ /\.ya?ml$/) { }
100TFelsif ($file =~ /\.json$/) { }
100TFelsif ($file =~ /\.xml$/) { }
50TFelsif ($file =~ /\.ini$/) { }
44450TFif $@
44750TFif $@
45050TFif ($self->_load_driver("XML::Simple", ["XMLin"]))
4520TFif ($@) { }
0TFelsif ($rc) { }
4530TFif ($logger) { }
46350TFif (not defined $rc and $self->_load_driver("XML::PP"))
46650TFif (my $tree = $xml_pp->parse(\$data))
46750TFif ($data = $xml_pp->collapse_structure($tree))
46950TFif ($$data{"config"})
47750TFif (my $ini = 'Config::IniFiles'->new('-file', $path)) { }
4830TFif ($logger) { }
49050TFif ($data)
49150TFunless (ref $data)
4920TFif ($logger)
49750TFif (ref $data ne "HASH")
4980TFif ($logger)
50350TFif ($logger)
512100TFunless ($$self{"script_name"})
51350TFunless "File::Basename"->can("basename")
521100TFunless defined $config_file
524100TFif $config_file eq $script_name and length $dir == 0 || $dir eq 'File::Spec'->curdir
525100TFlength $dir ? :
52650TFif ($logger)
529100TFif (-f $path and -r $path)
53150TFif ($logger)
535100TFif ($data =~ /^\s*<\?xml/ or $data =~ m[</.+>]) { }
50TFelsif ($data =~ /\{.+:.\}/s) { }
53650TFif ($self->_load_driver('XML::Simple', ['XMLin'])) { }
50TFelsif ($self->_load_driver('XML::PP')) { }
5370TFif ($data = XMLin($path, "ForceArray", 0, "KeyAttr", scalar []))
54250TFif (my $tree = $xml_pp->parse(\$data))
54350TFif ($data = $xml_pp->collapse_structure($tree))
54550TFif ($$data{"config"})
5560TFif ($is_json) { }
5580TFif ($@)
5640TFif ($data)
570100TFunless ($data)
572100TFif (eval {         do {         $data = LoadFile($path) } } and ref $data eq "HASH")
57750TFunless (defined $v)
58450TFif $v =~ /^".+"$/
585100TFif ($v =~ /,/)
58950TFif ($val =~ /(.+)=(.+)/) { }
59750TFif ($data)
601100TFif (not $data or ref $data ne "HASH")
60350TFif (my $ini = "Config::IniFiles"->new("-file", $path))
6080TFif ($data)
61250TFif (not $data or ref $data ne "HASH")
61450TFif ($self->_load_driver("XML::Simple", ["XMLin"]))
61750TFif (not $data or ref $data ne "HASH")
61850TFif ($self->_load_driver("Config::Abstract"))
6250TFif ($err) { }
0TFelsif ($data) { }
6290TFif (scalar keys %{$data;} == 0)
63650TFif (not $data or ref $data ne "HASH")
63950TFif ($data = $ca->parse)
64750TFif ($logger)
6480TFif ($@) { }
655100TFif (scalar keys %merged) { }
50TFelsif ($data and ref $data eq 'HASH') { }
0TFelsif (not $@ and $logger) { }
65650TFif ($data)
676100TFunless $key =~ /^$$self{"env_prefix"}(.*)$/i
678100TFif ($path =~ /__/) { }
69050TFunless $arg =~ /=/
69250TFunless $key =~ /^\-\-$$self{"env_prefix"}(.*)$/
69650TFif (scalar @parts > 0)
69850TFif (scalar @parts > 1)
705100TFif ($$self{'flatten'}) { }
712100TF$$self{'flatten'} ? :
726100TFif ($$self{"flatten"})
73150TFunless ref $ref eq "HASH"
734100TFif (defined $ref and not $$self{"no_fixate"})
73550TFif (ref $ref eq 'HASH') { }
100TFelsif (ref $ref eq 'ARRAY') { }
75550TFif ($$self{"flatten"})
76050TFunless ref $ref eq "HASH"
76150TFunless exists $ref->{$part}
78050TF$$self{'config'} && scalar keys %{$$self{'config'};} ? :
83250TFif scalar @_ == 0
836100TFunless defined $defaults
84150TFif ($$config{"global"})
8420TFif ($$params{'deep'}) { }
84950TFif ($section and $$config{$section})
852100TFif ($$params{"merge"})
863100TFif $$self{"loaded"}{$driver}
864100TFif $$self{"failed"}{$driver}
867100TFif ($@)
86850TFif (my $logger = $$self{"logger"})
916100TFif $key eq "DESTROY"
924100TFif ($$self{"flatten"})
92550TFif exists $data->{$key}
933100TFif (ref $val eq 'HASH' and exists $val->{$part}) { }