Condition Coverage

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

line%coveragecondition
683100
Adec
00
11
Params::Get::get_params(undef, \@_) || {}
686100
ABdec
000
011
1X1
$params->{'config_dirs'} //= $params->{'path'}
69067
ABdec
000
011
1X1
$params->{'config_file'} //= $params->{'file'}
693100
ABdec
0X0
100
111
$params->{'config_file'} and "File::Spec"->file_name_is_absolute($params->{'config_file'})
724100
Adec
00
11
$params->{'env_prefix'} || 'APP_'
7450
ABdec
0X0
100
111
$params->{'level'} and $self->{'logger'}->can("level")
77950
Adec
00
11
defined $self->{'config'} and scalar keys %{$$self{"config"};}
81750
Adec
00
11
$self->{'env_prefix'} // "APP_"
820100
ABdec
000
011
1X1
($ENV{$prefix . 'ENV'} // $ENV{'PLACK_ENV'}) // $ENV{'NODE_ENV'}
100
ABdec
000
011
1X1
$ENV{$prefix . 'ENV'} // $ENV{'PLACK_ENV'}
84067
ABdec
000
011
1X1
$r eq "CODE" or $r eq "GLOB"
85950
Adec
00
11
$self->{'env_prefix'} // "APP_"
860100
ABdec
000
011
1X1
$ENV{$prefix . 'ENCRYPTION_KEY'} // $ENV{'ENCRYPTION_KEY'}
86450
Adec
00
11
$self->{'env_prefix'} // "APP_"
86767
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'}
86867
ABdec
0X0
100
111
defined $kf and -f $kf
889100
ABdec
0X0
100
111
length $raw == $_HEX_KEY_LEN and $raw =~ /^[0-9A-Fa-f]{$_HEX_KEY_LEN}$/
893100
ABdec
0X0
100
111
length $raw >= $_B64_KEY_MIN and length $raw <= $_B64_KEY_MAX
910100
Adec
00
11
$seen //= {}
91650
ABCdec
0XX0
10X0
1100
1111
not ref $v and defined $v and $v =~ /^ENC\[/
92050
ABCdec
0XX0
10X0
1100
1111
not ref $v->[$i] and defined $v->[$i] and $v->[$i] =~ /^ENC\[/
97467
ABdec
0X0
100
111
$ok and not $@
996100
ABdec
0X0
100
111
defined $value and $value =~ /$spec/
101567
ABdec
0X0
100
111
$spec->{'required'} and not $self->exists($key) && defined $value
33
ABdec
0X0
100
111
$self->exists($key) && defined $value
102267
ABdec
0X0
100
111
defined $value and $value =~ /$pattern/
102867
ABdec
0X0
100
111
defined $value and $value < $min
103267
ABdec
0X0
100
111
defined $value and $value > $max
1044100
ABdec
000
011
1X1
$ltype eq "number" or $ltype eq "float"
1045100
ABdec
0X0
100
111
defined $value and $value =~ /^-?[0-9]+$/
1049100
ABdec
0X0
100
111
defined $value and &Scalar::Util::looks_like_number($value)
1053100
ABdec
0X0
100
111
defined $value and $value =~ /^(?:1|0|true|false|yes|no)$/i
105767
ABdec
0X0
100
111
defined $value and not ref $value
113350
Adec
00
11
$seen // {}
100
Adec
00
11
$prefix // ""
1183100
ABdec
0X0
100
111
$self->{'config_file'} and scalar @dirs > 1
1210100
ABdec
0X0
100
111
length $effective_dir and not -d $effective_dir
1239100
ABdec
0X0
100
111
defined $data and ref $data
12540
ABdec
0X0
100
111
defined $xml_raw and $xml_raw =~ /<!ENTITY\s+\w+\s+(?:SYSTEM|PUBLIC)\b/i
127067
ABdec
0X0
100
111
not defined $rc and $self->_load_driver("XML::PP")
130250
Adec
00
11
ref $toml_data eq "HASH" and scalar keys %$toml_data
13410
ABdec
0X0
100
111
require File::Basename and "File::Basename"->import
134467
ABdec
000
011
1X1
$ENV{'SCRIPT_NAME'} || $0
1352100
ABCdec
0XX0
1000
1011
11X1
$config_file eq $script_name and length $effective_dir == 0 || $effective_dir eq 'File::Spec'->curdir
1357100
ABdec
0X0
100
111
-f $path and -r $path
1364100
ABdec
000
011
1X1
$data =~ /^\s*<\?xml/ or $data =~ m[</[^>]+>]
1409100
ABdec
000
011
1X1
$data or $raw_content =~ /<!ENTITY\s+\w+\s+(?:SYSTEM|PUBLIC)\b/i
1411100
ABdec
0X0
100
111
eval {         do {         $data = LoadFile($path) } } and ref $data eq "HASH"
1444100
ABdec
000
011
1X1
not $data or ref $data ne "HASH"
145067
ABdec
0X0
100
111
not $toml_err and ref $toml_data eq "HASH" and scalar keys %$toml_data
1456100
ABdec
000
011
1X1
not $data or ref $data ne "HASH"
1467100
ABdec
000
011
1X1
not $data or ref $data ne "HASH"
14710
ABdec
0X0
100
111
defined $xml_raw and not $xml_raw =~ /<!ENTITY\s+\w+\s+(?:SYSTEM|PUBLIC)\b/i
147567
ABdec
000
011
1X1
not $data or ref $data ne "HASH"
149467
ABdec
000
011
1X1
not $data or ref $data ne "HASH"
1513100
ABdec
0X0
100
111
$data and ref $data eq "HASH"
1520100
ABdec
0X0
100
111
not $@ and $logger
100
ABdec
0X0
100
111
$data and ref $data eq "HASH"
1546100
Adec
00
11
$ref->{$_} //= {}
1574100
Adec
00
11
$ref->{$_} //= {}
1665100
ABCdec
0XX0
10X0
1100
1111
defined $ref and ref $ref eq "HASH" and not $self->{'no_fixate'}
192050
Adec
00
11
$self->{'_source_records'} // []
195850
Adec
00
11
$self->{'_source_records'} // []
2258100
ABdec
0X0
100
111
$section and exists $config->{$section}
2291100
Adec
00
11
$imports // []
2440100
Adec
00
11
$2 // "/"
2455100
ABdec
0X0
100
111
defined $host and length $host
258633
ABdec
0X0
100
111
defined $data and ref $data
260067
ABdec
0X0
100
111
$data and $data->{'config'}
2662100
ABdec
0X0
100
111
ref $val eq "HASH" and exists $val->{$part}