| line | % | coverage | branch |
| 321 | 100 | T | F | if (scalar @_ == 1) { } |
| 330 | 100 | T | F | if (not defined $params->{'config_dirs'} and $params->{'file'}) |
| 334 | 100 | T | F | unless (defined $params->{'config_dirs'}) |
| 335 | 100 | T | F | if ($params->{'config_file'} and 'File::Spec'->file_name_is_absolute($params->{'config_file'})) { } |
| 339 | 50 | T | F | if ($^O ne 'MSWin32') { } |
| 344 | 50 | T | F | if ($ENV{'HOME'}) { } |
| 0 | T | F | elsif ($ENV{'DOCUMENT_ROOT'}) { } |
| 355 | 50 | T | F | if (my $dir = $ENV{'CONFIG_DIR'}) { } |
| 365 | 50 | T | F | $params->{'defaults'} ? : |
| 370 | 50 | T | F | if (my $logger = $self->{'logger'}) |
| 371 | 0 | T | F | unless (&Scalar::Util::blessed($logger)) |
| 374 | 0 | T | F | if ($params->{'level'} and $self->{'logger'}->can("level")) |
| 381 | 100 | T | F | if (my $schema = $params->{'schema'}) |
| 385 | 100 | T | F | if (defined $self->{'config'} and scalar keys %{$$self{"config"};}) |
| 393 | 50 | T | F | unless (UNIVERSAL::isa((&CORE::GLOBAL::caller())[0], __PACKAGE__)) |
| 400 | 100 | T | F | if ($self->{'data'}) |
| 406 | 50 | T | F | if ($logger) |
| 411 | 50 | T | F | if ($self->{'config_file'} and scalar @dirs > 1) |
| 412 | 0 | T | F | if ('File::Spec'->file_name_is_absolute($self->{'config_file'})) { } |
| 421 | 50 | T | F | unless defined $dir |
| 422 | 100 | T | F | if (length $dir and not -d $dir) |
| 428 | 50 | T | F | if ($logger) |
| 431 | 100 | T | F | unless -f $path |
| 432 | 50 | T | F | unless -r $path |
| 434 | 50 | T | F | if ($logger) |
| 440 | 100 | T | F | if ($file =~ /\.ya?ml$/) { } |
| 100 | T | F | elsif ($file =~ /\.json$/) { } |
| 100 | T | F | elsif ($file =~ /\.xml$/) { } |
| 50 | T | F | elsif ($file =~ /\.ini$/) { } |
| 443 | 50 | T | F | if $@ |
| 446 | 50 | T | F | if $@ |
| 449 | 50 | T | F | if ($self->_load_driver("XML::Simple", ["XMLin"])) |
| 451 | 0 | T | F | if ($@) { } |
| 0 | T | F | elsif ($rc) { } |
| 452 | 0 | T | F | if ($logger) { } |
| 462 | 50 | T | F | if (not defined $rc and $self->_load_driver("XML::PP")) |
| 465 | 50 | T | F | if (my $tree = $xml_pp->parse(\$data)) |
| 466 | 50 | T | F | if ($data = $xml_pp->collapse_structure($tree)) |
| 468 | 50 | T | F | if ($data->{'config'}) |
| 476 | 50 | T | F | if (my $ini = 'Config::IniFiles'->new('-file', $path)) { } |
| 482 | 0 | T | F | if ($logger) { } |
| 489 | 50 | T | F | if ($data) |
| 490 | 50 | T | F | unless (ref $data) |
| 491 | 0 | T | F | if ($logger) |
| 496 | 50 | T | F | if (ref $data ne "HASH") |
| 497 | 0 | T | F | if ($logger) |
| 502 | 50 | T | F | if ($logger) |
| 511 | 100 | T | F | unless ($self->{'script_name'}) |
| 512 | 50 | T | F | unless "File::Basename"->can("basename") |
| 520 | 100 | T | F | unless defined $config_file |
| 523 | 100 | T | F | if $config_file eq $script_name and length $dir == 0 || $dir eq 'File::Spec'->curdir |
| 524 | 100 | T | F | length $dir ? : |
| 525 | 50 | T | F | if ($logger) |
| 528 | 100 | T | F | if (-f $path and -r $path) |
| 530 | 50 | T | F | if ($logger) |
| 534 | 100 | T | F | if ($data =~ /^\s*<\?xml/ or $data =~ m[</.+>]) { } |
| 50 | T | F | elsif ($data =~ /\{.+:.\}/s) { } |
| 535 | 50 | T | F | if ($self->_load_driver('XML::Simple', ['XMLin'])) { } |
| 50 | T | F | elsif ($self->_load_driver('XML::PP')) { } |
| 536 | 0 | T | F | if ($data = XMLin($path, "ForceArray", 0, "KeyAttr", scalar [])) |
| 541 | 50 | T | F | if (my $tree = $xml_pp->parse(\$data)) |
| 542 | 50 | T | F | if ($data = $xml_pp->collapse_structure($tree)) |
| 544 | 50 | T | F | if ($data->{'config'}) |
| 555 | 0 | T | F | if ($is_json) { } |
| 557 | 0 | T | F | if ($@) |
| 563 | 0 | T | F | if ($data) |
| 569 | 100 | T | F | unless ($data) |
| 571 | 100 | T | F | if (eval {
do {
$data = LoadFile($path)
}
} and ref $data eq "HASH") |
| 576 | 50 | T | F | unless (defined $v) |
| 583 | 50 | T | F | if $v =~ /^".+"$/ |
| 584 | 100 | T | F | if ($v =~ /,/) |
| 588 | 50 | T | F | if ($val =~ /(.+)=(.+)/) { } |
| 596 | 50 | T | F | if ($data) |
| 600 | 100 | T | F | if (not $data or ref $data ne "HASH") |
| 602 | 50 | T | F | if (my $ini = "Config::IniFiles"->new("-file", $path)) |
| 607 | 0 | T | F | if ($data) |
| 611 | 50 | T | F | if (not $data or ref $data ne "HASH") |
| 613 | 50 | T | F | if ($self->_load_driver("XML::Simple", ["XMLin"])) |
| 616 | 50 | T | F | if (not $data or ref $data ne "HASH") |
| 617 | 50 | T | F | if ($self->_load_driver("Config::Abstract")) |
| 624 | 0 | T | F | if ($err) { } |
| 0 | T | F | elsif ($data) { } |
| 628 | 0 | T | F | if (scalar keys %{$data;} == 0) |
| 635 | 50 | T | F | if (not $data or ref $data ne "HASH") |
| 638 | 50 | T | F | if ($data = $ca->parse) |
| 646 | 50 | T | F | if ($logger) |
| 647 | 0 | T | F | if ($@) { } |
| 654 | 100 | T | F | if (scalar keys %merged) { } |
| 50 | T | F | elsif ($data and ref $data eq 'HASH') { } |
| 0 | T | F | elsif (not $@ and $logger) { } |
| 655 | 50 | T | F | if ($data) |
| 675 | 100 | T | F | unless $key =~ /^$self->{'env_prefix'}(.*)$/i |
| 677 | 100 | T | F | if ($path =~ /__/) { } |
| 689 | 50 | T | F | unless $arg =~ /=/ |
| 691 | 50 | T | F | unless $key =~ /^\-\-$self->{'env_prefix'}(.*)$/ |
| 695 | 50 | T | F | if (scalar @parts > 0) |
| 697 | 50 | T | F | if (scalar @parts > 1) |
| 704 | 100 | T | F | if ($self->{'flatten'}) { } |
| 711 | 100 | T | F | $self->{'flatten'} ? : |
| 725 | 100 | T | F | if ($self->{'flatten'}) |
| 730 | 50 | T | F | unless ref $ref eq "HASH" |
| 733 | 100 | T | F | if (defined $ref and not $self->{'no_fixate'}) |
| 734 | 50 | T | F | unless ($self->{'reuse_loaded'}) |
| 739 | 50 | T | F | unless ($@) |
| 743 | 50 | T | F | if ($self->{'reuse_loaded'}) |
| 744 | 0 | T | F | if (ref $ref eq 'HASH') { } |
| 0 | T | F | elsif (ref $ref eq 'ARRAY') { } |
| 766 | 50 | T | F | if ($self->{'flatten'}) |
| 771 | 50 | T | F | unless ref $ref eq "HASH" |
| 772 | 50 | T | F | unless exists $ref->{$part} |
| 791 | 50 | T | F | $self->{'config'} && scalar keys %{$$self{'config'};} ? : |
| 843 | 50 | T | F | if scalar @_ == 0 |
| 847 | 100 | T | F | unless defined $defaults |
| 852 | 50 | T | F | if ($config->{'global'}) |
| 853 | 0 | T | F | if ($params->{'deep'}) { } |
| 860 | 0 | T | F | if ($section and $config->{$section}) |
| 863 | 100 | T | F | if ($params->{'merge'}) |
| 874 | 100 | T | F | if $self->{'loaded'}{$driver} |
| 875 | 100 | T | F | if $self->{'failed'}{$driver} |
| 878 | 100 | T | F | if ($@) |
| 879 | 50 | T | F | if (my $logger = $self->{'logger'}) |
| 927 | 100 | T | F | if $key eq "DESTROY" |
| 935 | 100 | T | F | if ($self->{'flatten'}) |
| 936 | 50 | T | F | if exists $data->{$key} |
| 944 | 100 | T | F | if (ref $val eq 'HASH' and exists $val->{$part}) { } |