Branch Coverage

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

line%coveragebranch
321100TFif (scalar @_ == 1) { }
330100TFif (not defined $params->{'config_dirs'} and $params->{'file'})
334100TFunless (defined $params->{'config_dirs'})
335100TFif ($params->{'config_file'} and 'File::Spec'->file_name_is_absolute($params->{'config_file'})) { }
33950TFif ($^O ne 'MSWin32') { }
34450TFif ($ENV{'HOME'}) { }
0TFelsif ($ENV{'DOCUMENT_ROOT'}) { }
35550TFif (my $dir = $ENV{'CONFIG_DIR'}) { }
36550TF$params->{'defaults'} ? :
37050TFif (my $logger = $self->{'logger'})
3710TFunless (&Scalar::Util::blessed($logger))
3740TFif ($params->{'level'} and $self->{'logger'}->can("level"))
381100TFif (my $schema = $params->{'schema'})
385100TFif (defined $self->{'config'} and scalar keys %{$$self{"config"};})
39350TFunless (UNIVERSAL::isa((&CORE::GLOBAL::caller())[0], __PACKAGE__))
400100TFif ($self->{'data'})
40650TFif ($logger)
41150TFif ($self->{'config_file'} and scalar @dirs > 1)
4120TFif ('File::Spec'->file_name_is_absolute($self->{'config_file'})) { }
42150TFunless defined $dir
422100TFif (length $dir and not -d $dir)
42850TFif ($logger)
431100TFunless -f $path
43250TFunless -r $path
43450TFif ($logger)
440100TFif ($file =~ /\.ya?ml$/) { }
100TFelsif ($file =~ /\.json$/) { }
100TFelsif ($file =~ /\.xml$/) { }
50TFelsif ($file =~ /\.ini$/) { }
44350TFif $@
44650TFif $@
44950TFif ($self->_load_driver("XML::Simple", ["XMLin"]))
4510TFif ($@) { }
0TFelsif ($rc) { }
4520TFif ($logger) { }
46250TFif (not defined $rc and $self->_load_driver("XML::PP"))
46550TFif (my $tree = $xml_pp->parse(\$data))
46650TFif ($data = $xml_pp->collapse_structure($tree))
46850TFif ($data->{'config'})
47650TFif (my $ini = 'Config::IniFiles'->new('-file', $path)) { }
4820TFif ($logger) { }
48950TFif ($data)
49050TFunless (ref $data)
4910TFif ($logger)
49650TFif (ref $data ne "HASH")
4970TFif ($logger)
50250TFif ($logger)
511100TFunless ($self->{'script_name'})
51250TFunless "File::Basename"->can("basename")
520100TFunless defined $config_file
523100TFif $config_file eq $script_name and length $dir == 0 || $dir eq 'File::Spec'->curdir
524100TFlength $dir ? :
52550TFif ($logger)
528100TFif (-f $path and -r $path)
53050TFif ($logger)
534100TFif ($data =~ /^\s*<\?xml/ or $data =~ m[</.+>]) { }
50TFelsif ($data =~ /\{.+:.\}/s) { }
53550TFif ($self->_load_driver('XML::Simple', ['XMLin'])) { }
50TFelsif ($self->_load_driver('XML::PP')) { }
5360TFif ($data = XMLin($path, "ForceArray", 0, "KeyAttr", scalar []))
54150TFif (my $tree = $xml_pp->parse(\$data))
54250TFif ($data = $xml_pp->collapse_structure($tree))
54450TFif ($data->{'config'})
5550TFif ($is_json) { }
5570TFif ($@)
5630TFif ($data)
569100TFunless ($data)
571100TFif (eval {         do {         $data = LoadFile($path) } } and ref $data eq "HASH")
57650TFunless (defined $v)
58350TFif $v =~ /^".+"$/
584100TFif ($v =~ /,/)
58850TFif ($val =~ /(.+)=(.+)/) { }
59650TFif ($data)
600100TFif (not $data or ref $data ne "HASH")
60250TFif (my $ini = "Config::IniFiles"->new("-file", $path))
6070TFif ($data)
61150TFif (not $data or ref $data ne "HASH")
61350TFif ($self->_load_driver("XML::Simple", ["XMLin"]))
61650TFif (not $data or ref $data ne "HASH")
61750TFif ($self->_load_driver("Config::Abstract"))
6240TFif ($err) { }
0TFelsif ($data) { }
6280TFif (scalar keys %{$data;} == 0)
63550TFif (not $data or ref $data ne "HASH")
63850TFif ($data = $ca->parse)
64650TFif ($logger)
6470TFif ($@) { }
654100TFif (scalar keys %merged) { }
50TFelsif ($data and ref $data eq 'HASH') { }
0TFelsif (not $@ and $logger) { }
65550TFif ($data)
675100TFunless $key =~ /^$self->{'env_prefix'}(.*)$/i
677100TFif ($path =~ /__/) { }
68950TFunless $arg =~ /=/
69150TFunless $key =~ /^\-\-$self->{'env_prefix'}(.*)$/
69550TFif (scalar @parts > 0)
69750TFif (scalar @parts > 1)
704100TFif ($self->{'flatten'}) { }
711100TF$self->{'flatten'} ? :
725100TFif ($self->{'flatten'})
73050TFunless ref $ref eq "HASH"
733100TFif (defined $ref and not $self->{'no_fixate'})
73450TFunless ($self->{'reuse_loaded'})
73950TFunless ($@)
74350TFif ($self->{'reuse_loaded'})
7440TFif (ref $ref eq 'HASH') { }
0TFelsif (ref $ref eq 'ARRAY') { }
76650TFif ($self->{'flatten'})
77150TFunless ref $ref eq "HASH"
77250TFunless exists $ref->{$part}
79150TF$self->{'config'} && scalar keys %{$$self{'config'};} ? :
84350TFif scalar @_ == 0
847100TFunless defined $defaults
85250TFif ($config->{'global'})
8530TFif ($params->{'deep'}) { }
8600TFif ($section and $config->{$section})
863100TFif ($params->{'merge'})
874100TFif $self->{'loaded'}{$driver}
875100TFif $self->{'failed'}{$driver}
878100TFif ($@)
87950TFif (my $logger = $self->{'logger'})
927100TFif $key eq "DESTROY"
935100TFif ($self->{'flatten'})
93650TFif exists $data->{$key}
944100TFif (ref $val eq 'HASH' and exists $val->{$part}) { }