Condition Coverage

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

line%coveragecondition
685100
Adec
00
11
Params::Get::get_params(undef, \@_) || {}
688100
ABdec
000
011
1X1
$params->{'config_dirs'} //= $params->{'path'}
69267
ABdec
000
011
1X1
$params->{'config_file'} //= $params->{'file'}
695100
ABdec
0X0
100
111
$params->{'config_file'} and "File::Spec"->file_name_is_absolute($params->{'config_file'})
726100
Adec
00
11
$params->{'env_prefix'} || 'APP_'
7470
ABdec
0X0
100
111
$params->{'level'} and $self->{'logger'}->can("level")
78150
Adec
00
11
defined $self->{'config'} and scalar keys %{$$self{"config"};}
81950
Adec
00
11
$self->{'env_prefix'} // "APP_"
822100
ABdec
000
011
1X1
($ENV{$prefix . 'ENV'} // $ENV{'PLACK_ENV'}) // $ENV{'NODE_ENV'}
100
ABdec
000
011
1X1
$ENV{$prefix . 'ENV'} // $ENV{'PLACK_ENV'}
84267
ABdec
000
011
1X1
$r eq "CODE" or $r eq "GLOB"
86150
Adec
00
11
$self->{'env_prefix'} // "APP_"
862100
ABdec
000
011
1X1
$ENV{$prefix . 'ENCRYPTION_KEY'} // $ENV{'ENCRYPTION_KEY'}
86650
Adec
00
11
$self->{'env_prefix'} // "APP_"
86967
ABdec
000
011
1X1
($self->{'encryption_key_file'} // $ENV{$prefix . 'ENCRYPTION_KEY_FILE'}) // $ENV{'ENCRYPTION_KEY_FILE'}
67
ABdec
000
011
1X1
$self->{'encryption_key_file'} // $ENV{$prefix . 'ENCRYPTION_KEY_FILE'}
87067
ABdec
0X0
100
111
defined $kf and -f $kf
891100
ABdec
0X0
100
111
length $raw == $_HEX_KEY_LEN and $raw =~ /^[0-9A-Fa-f]{$_HEX_KEY_LEN}$/
895100
ABdec
0X0
100
111
length $raw >= $_B64_KEY_MIN and length $raw <= $_B64_KEY_MAX
912100
Adec
00
11
$seen //= {}
91850
ABCdec
0XX0
10X0
1100
1111
not ref $v and defined $v and $v =~ /^ENC\[/
92250
ABCdec
0XX0
10X0
1100
1111
not ref $v->[$i] and defined $v->[$i] and $v->[$i] =~ /^ENC\[/
97767
ABdec
0X0
100
111
$ok and not $@
999100
ABdec
0X0
100
111
defined $value and $value =~ /$spec/
101867
ABdec
0X0
100
111
$spec->{'required'} and not $self->exists($key) && defined $value
33
ABdec
0X0
100
111
$self->exists($key) && defined $value
102567
ABdec
0X0
100
111
defined $value and $value =~ /$pattern/
103167
ABdec
0X0
100
111
defined $value and $value < $min
103567
ABdec
0X0
100
111
defined $value and $value > $max
1047100
ABdec
000
011
1X1
$ltype eq "number" or $ltype eq "float"
1048100
ABdec
0X0
100
111
defined $value and $value =~ /^-?[0-9]+$/
1052100
ABdec
0X0
100
111
defined $value and &Scalar::Util::looks_like_number($value)
1056100
ABdec
0X0
100
111
defined $value and $value =~ /^(?:1|0|true|false|yes|no)$/i
106067
ABdec
0X0
100
111
defined $value and not ref $value
113650
Adec
00
11
$seen // {}
100
Adec
00
11
$prefix // ""
1186100
ABdec
0X0
100
111
$self->{'config_file'} and scalar @dirs > 1
1213100
ABdec
0X0
100
111
length $effective_dir and not -d $effective_dir
1242100
ABdec
0X0
100
111
defined $data and ref $data
12570
ABdec
0X0
100
111
defined $xml_raw and $xml_raw =~ /<!ENTITY\s+\w+\s+(?:SYSTEM|PUBLIC)\b/i
127367
ABdec
0X0
100
111
not defined $rc and $self->_load_driver("XML::PP")
130550
Adec
00
11
ref $toml_data eq "HASH" and scalar keys %$toml_data
13440
ABdec
0X0
100
111
require File::Basename and "File::Basename"->import
134767
ABdec
000
011
1X1
$ENV{'SCRIPT_NAME'} || $0
1355100
ABCdec
0XX0
1000
1011
11X1
$config_file eq $script_name and length $effective_dir == 0 || $effective_dir eq 'File::Spec'->curdir
1360100
ABdec
0X0
100
111
-f $path and -r $path
1367100
ABdec
000
011
1X1
$data =~ /^\s*<\?xml/ or $data =~ m[</[^>]+>]
1412100
ABdec
000
011
1X1
$data or $raw_content =~ /<!ENTITY\s+\w+\s+(?:SYSTEM|PUBLIC)\b/i
1414100
ABdec
0X0
100
111
eval {         do {         $data = LoadFile($path) } } and ref $data eq "HASH"
1447100
ABdec
000
011
1X1
not $data or ref $data ne "HASH"
145367
ABdec
0X0
100
111
not $toml_err and ref $toml_data eq "HASH" and scalar keys %$toml_data
1459100
ABdec
000
011
1X1
not $data or ref $data ne "HASH"
1470100
ABdec
000
011
1X1
not $data or ref $data ne "HASH"
14740
ABdec
0X0
100
111
defined $xml_raw and not $xml_raw =~ /<!ENTITY\s+\w+\s+(?:SYSTEM|PUBLIC)\b/i
147867
ABdec
000
011
1X1
not $data or ref $data ne "HASH"
149767
ABdec
000
011
1X1
not $data or ref $data ne "HASH"
1516100
ABdec
0X0
100
111
$data and ref $data eq "HASH"
1523100
ABdec
0X0
100
111
not $@ and $logger
100
ABdec
0X0
100
111
$data and ref $data eq "HASH"
1549100
Adec
00
11
$ref->{$_} //= {}
1577100
Adec
00
11
$ref->{$_} //= {}
1668100
ABCdec
0XX0
10X0
1100
1111
defined $ref and ref $ref eq "HASH" and not $self->{'no_fixate'}
192350
Adec
00
11
$self->{'_source_records'} // []
196150
Adec
00
11
$self->{'_source_records'} // []
2266100
ABdec
0X0
100
111
$section and exists $config->{$section}
2299100
Adec
00
11
$imports // []
2448100
Adec
00
11
$2 // "/"
2463100
ABdec
0X0
100
111
defined $host and length $host
259433
ABdec
0X0
100
111
defined $data and ref $data
260867
ABdec
0X0
100
111
$data and $data->{'config'}
2670100
ABdec
0X0
100
111
ref $val eq "HASH" and exists $val->{$part}