Branch Coverage

blib/lib/ChordPro/Config.pm
Criterion Covered Total %
branch 124 230 53.9


line true false branch
55 78 119 unless ($opts)
63 9 110 if (keys %$opts)
71 0 119 if $verbose > 1
77 119 0 if @cfg > 1
87 348 9 if $$main::options{"no$c"}
88 2 7 if (ref $main::options->{$c} eq 'ARRAY') { }
92 0 7 if $verbose
99 0 249 if ($a and $cfg[$a]{'_src'} eq $cfg[$a - 1]{'_src'})
103 0 249 if $verbose
108 0 119 if $verbose > 1
111 0 119 if ($main::options->{'reference'}) { }
124 119 238 if exists $cfg->{'pdf'}{'formats'}{'first'}{$_}
144 0 130 if (exists $new->{'pdf'}{'diagramscolumn'})
149 0 130 if (exists $new->{'pdf'}{'formats'}{'default'}{'toc-title'})
168 238 119 if ($cfg->{'pdf'}{'formats'}{'first'}{$_} // 1) eq ""
171 238 833 unless $t
172 0 833 unless ref $t eq "ARRAY"
174 833 0 if (ref $t->[0] ne "ARRAY")
179 0 833 if @$_ and @$_ != 3
186 119 0 if ($cfg->{'pdf'}{'fontdir'}) { }
188 119 0 if (ref $cfg->{'pdf'}{'fontdir'} eq 'ARRAY') { }
195 0 119 $^O =~ /^MS*/u ? :
207 952 119 unless ($cfg->{'pdf'}{'fonts'}{$ff}{'name'} or $cfg->{'pdf'}{'fonts'}{$ff}{'description'} or $cfg->{'pdf'}{'fonts'}{$ff}{'file'})
217 2499 2261 unless defined $cfg->{'pdf'}{'fonts'}{$ff}{$_}
221 0 119 if (defined $main::options->{'diagrams'}) { }
0 119 elsif (defined $main::options->{'user-chord-grids'}) { }
0 119 elsif (defined $main::options->{'chord-grids'}) { }
224 0 0 unless $main::options->{'diagrams'} =~ /^(all|none|user)$/iu
229 0 0 $main::options->{'user-chord-grids'} ? :
233 0 0 $main::options->{'chord-grids'} ? :
237 577 18 unless defined $main::options->{$_}
242 232 6 unless defined $main::options->{$_}
246 0 119 if (defined $main::options->{'chord-grids-sorted'})
253 0 119 if $main::options->{'cfg-print'}
256 8 111 if $backend_configurator
261 0 119 if ($main::options->{'verbose'} > 1)
265 0 0 $v eq $cp ? :
276 0 132 unless defined $file
278 0 132 if $verbose > 1
281 132 0 if ($file =~ /\.json$/iu) { }
0 0 elsif ($file =~ /\.prp$/iu) { }
282 132 0 if (open my $fd, '<:raw', $file) { }
294 0 0 if (-e -f -r $file) { }
319 119 0 if (not $c =~ m[[/.]]u) { }
0 0 elsif ($dir ne '' and not 'File::Spec'->file_name_is_absolute($c)) { }
340 0 208 if $verbose > 1
342 197 11 if ($cfg->{'tuning'})
345 0 197 if $res
353 197 11 if ($cfg->{'chords'})
356 0 197 if (@$c and $c->[0] eq "append")
363 0 49742 if $res
365 0 197 if ($verbose > 1)
379 0 0 if ($delta)
386 0 0 if $delta and not defined $cfg->{'tuning'}
392 0 0 if ($ENV{'CHORDPRO_CFGPROPS'}) { }
402 0 0 if ($ENV{'CHORDPRO_CFGPROPS'}) { }
417 0 0 if (not defined $o) { }
0 0 elsif (UNIVERSAL::isa($o, 'HASH')) { }
0 0 elsif (UNIVERSAL::isa($o, 'ARRAY')) { }
0 0 elsif ($o =~ /^\d+$/u) { }
421 0 0 unless $path eq ""
427 0 0 unless $path eq ""
467 14 1 if $locked
471 14 1 if $locked
482 0 0 unless exists $self->{$key} or $path =~ /^pdf\.(?:info|fonts|fontconfig)\./u or $path =~ /^meta\./u or $key =~ /^_/u
489 28 17 if (ref $hash->{$key} eq 'HASH') { }
2 15 elsif (ref $hash->{$key} eq 'ARRAY' and ref $self->{$key} eq 'ARRAY') { }
490 28 0 if (ref $self->{$key} eq 'HASH') { }
0 0 elsif (ref $self->{$key} eq 'ARRAY') { }
500 0 0 unless $ix =~ /^\d+$/u
515 2 0 if (@{$hash->{$key};}) { }
517 0 2 if ($v[0] eq 'append') { }
1 1 elsif ($v[0] eq 'prepend') { }
557 0 1 if $locked
571 3 3 if (_ref($self) eq "HASH" and _ref($orig) eq "HASH")
574 0 3 unless %$orig
580 0 6 unless exists $self->{$key} or $key =~ /^_/u
583 0 6 unless (defined $orig->{$key})
591 4 2 if (_ref($orig->{$key}) eq 'HASH' and _ref($self->{$key}) eq 'HASH' or _ref($orig->{$key}) eq 'ARRAY' and _ref($self->{$key}) eq 'ARRAY') { }
1 1 elsif (($self->{$key} // '') eq ($orig->{$key} // '')) { }
0 1 elsif (not defined $self->{$key} and _ref($orig->{$key}) eq 'ARRAY' and not @{$orig->{$key};} or not defined $orig->{$key} and _ref($self->{$key}) eq 'ARRAY' and not @{$self->{$key};}) { }
598 0 4 if $m eq "D" or $m eq "I"
599 4 0 if $m ne "I"
626 3 0 if (_ref($self) eq "ARRAY" and _ref($orig) eq "ARRAY")
629 1 2 if (&any(sub { _ref($_); } , @$self))
634 1 0 if $m ne "I"
640 1 1 if (my $dd = @$self - @$orig)
642 1 0 if ($dd > 0) { }
647 0 1 if $orig->[$ix] eq $self->[$ix]
651 0 1 unless ($t)
658 2 0 if $$orig[$ix - $dd] eq $self->[$ix]
662 1 0 unless ($t)
681 0 1 if $orig->[$ix] eq $self->[$ix]
686 1 0 if ($t)
696 0 0 if ($self eq $orig)
715 0 357 unless exists $res{$key} or $path eq "pdf.fontconfig." or $path =~ /^pdf\.(?:info|fonts)\./u or $path =~ /^meta\./u or $path =~ /^delegates\./u or $path =~ /^debug\./u or $key =~ /^_/u
723 6479 18650 if (ref $right->{$key} eq 'HASH' and ref $res{$key} eq 'HASH') { }
2849 15801 elsif (ref $right->{$key} eq 'ARRAY' and ref $res{$key} eq 'ARRAY') { }
739 1493 1356 if (@{$right->{$key};}) { }
741 0 1493 if ($v[0] eq 'append') { }
0 1493 elsif ($v[0] eq 'prepend') { }
780 0 40 unless defined $source
792 0 132 if $verbose > 1
797 0 283271 if (not defined $o) { }
50244 233027 elsif (UNIVERSAL::isa($o, 'HASH')) { }
19175 213852 elsif (UNIVERSAL::isa($o, 'ARRAY')) { }
802 50112 132 unless $path eq ""
808 19175 0 unless $path eq ""
827 6 6 $prp_context eq '' ? :
831 5 29 if (/^\d+$/u) { }
832 0 5 unless _ref($p) eq "ARRAY"
836 0 29 unless _ref($p) eq "HASH"
841 0 12 unless defined $p
1642 0 0 if ($compact)
1646 0 0 defined wantarray ? :