Branch Coverage

blib/lib/Crane/Config.pm
Criterion Covered Total %
branch 20 34 58.8


line true false branch
43 1 1 ref $config eq 'HASH' ? :
0 2 scalar @filenames ? :
67 3 1 if ($type_original eq $type_config) { }
68 3 0 if ($type_config eq 'HASH')
70 1 2 if (exists $$original{$key}) { }
90 0 1 unless (defined $filename)
96 1 0 if (open my $fh, '<:encoding(UTF-8)', $filename) { }
100 0 1 unless ($config = eval { do { local $Crane::Config::INPUT_RECORD_SEPARATOR = undef; return (YAML::Load(<$fh>))[0] || {} } })
104 0 1 unless close $fh
118 0 1 if (ref $config ne 'HASH')
122 0 1 unless (defined $filename)
138 1 0 if (open my $fh, '>:encoding(UTF-8)', $filename) { }
139 0 1 unless print {$fh;} $yaml->dump($config)
0 1 if (not eval { do { confess($Crane::Config::OS_ERROR) unless print {$fh;} $yaml->dump($config) } } or $Crane::Config::EVAL_ERROR)
143 0 1 unless close $fh
157 0 2 if (ref $config ne 'HASH')
162 0 2 if (defined $filename and -e $filename)