Branch Coverage

lib/ChordPro/Config.pm
Criterion Covered Total %
branch 123 230 53.4


line true false branch
55 80 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'}{$_}
135 0 130 if (exists $new->{'pdf'}{'diagramscolumn'})
140 0 130 if (exists $new->{'pdf'}{'formats'}{'default'}{'toc-title'})
159 238 119 if ($cfg->{'pdf'}{'formats'}{'first'}{$_} // 1) eq ""
162 238 833 unless $t
163 0 833 unless ref $t eq "ARRAY"
165 833 0 if (ref $t->[0] ne "ARRAY")
170 0 833 if @$_ and @$_ != 3
177 119 0 if ($cfg->{'pdf'}{'fontdir'}) { }
179 119 0 if (ref $cfg->{'pdf'}{'fontdir'} eq 'ARRAY') { }
186 0 119 $^O =~ /^MS*/u ? :
198 0 119 unless ($cfg->{'pdf'}{'fonts'}{$ff}{'name'} or $cfg->{'pdf'}{'fonts'}{$ff}{'description'} or $cfg->{'pdf'}{'fonts'}{$ff}{'file'})
208 2499 2261 unless defined $cfg->{'pdf'}{'fonts'}{$ff}{$_}
212 0 119 if (defined $main::options->{'diagrams'}) { }
0 119 elsif (defined $main::options->{'user-chord-grids'}) { }
0 119 elsif (defined $main::options->{'chord-grids'}) { }
215 0 0 unless $main::options->{'diagrams'} =~ /^(all|none|user)$/iu
220 0 0 $main::options->{'user-chord-grids'} ? :
224 0 0 $main::options->{'chord-grids'} ? :
228 577 18 unless defined $main::options->{$_}
233 232 6 unless defined $main::options->{$_}
237 0 119 if (defined $main::options->{'chord-grids-sorted'})
244 0 119 if $main::options->{'cfg-print'}
247 8 111 if $backend_configurator
252 0 119 if ($main::options->{'verbose'} > 1)
256 0 0 $v eq $cp ? :
267 0 132 unless defined $file
269 0 132 if $verbose > 1
272 132 0 if ($file =~ /\.json$/iu) { }
0 0 elsif ($file =~ /\.prp$/iu) { }
273 132 0 if (open my $fd, '<:raw', $file) { }
285 0 0 if (-e -f -r $file) { }
310 119 0 if (not $c =~ m[[/.]]u) { }
0 0 elsif ($dir ne '' and not 'File::Spec'->file_name_is_absolute($c)) { }
331 0 210 if $verbose > 1
333 199 11 if ($cfg->{'tuning'})
336 0 199 if $res
344 199 11 if ($cfg->{'chords'})
347 0 199 if (@$c and $c->[0] eq "append")
354 0 49742 if $res
356 0 199 if ($verbose > 1)
370 0 0 if ($delta)
377 0 0 if $delta and not defined $cfg->{'tuning'}
383 0 0 if ($ENV{'CHORDPRO_CFGPROPS'}) { }
393 0 0 if ($ENV{'CHORDPRO_CFGPROPS'}) { }
408 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) { }
412 0 0 unless $path eq ""
418 0 0 unless $path eq ""
458 14 1 if $locked
462 14 1 if $locked
473 0 0 unless exists $self->{$key} or $path =~ /^pdf\.(?:info|fonts|fontconfig)\./u or $path =~ /^meta\./u or $key =~ /^_/u
480 28 17 if (ref $hash->{$key} eq 'HASH') { }
2 15 elsif (ref $hash->{$key} eq 'ARRAY' and ref $self->{$key} eq 'ARRAY') { }
481 28 0 if (ref $self->{$key} eq 'HASH') { }
0 0 elsif (ref $self->{$key} eq 'ARRAY') { }
491 0 0 unless $ix =~ /^\d+$/u
506 2 0 if (@{$hash->{$key};}) { }
508 0 2 if ($v[0] eq 'append') { }
1 1 elsif ($v[0] eq 'prepend') { }
548 0 1 if $locked
562 3 3 if (_ref($self) eq "HASH" and _ref($orig) eq "HASH")
565 0 3 unless %$orig
571 0 6 unless exists $self->{$key} or $key =~ /^_/u
574 0 6 unless (defined $orig->{$key})
582 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};}) { }
589 0 4 if $m eq "D" or $m eq "I"
590 4 0 if $m ne "I"
617 3 0 if (_ref($self) eq "ARRAY" and _ref($orig) eq "ARRAY")
620 1 2 if (&any(sub { _ref($_); } , @$self))
625 1 0 if $m ne "I"
631 1 1 if (my $dd = @$self - @$orig)
633 1 0 if ($dd > 0) { }
638 0 1 if $orig->[$ix] eq $self->[$ix]
642 0 1 unless ($t)
649 2 0 if $$orig[$ix - $dd] eq $self->[$ix]
653 1 0 unless ($t)
672 0 1 if $orig->[$ix] eq $self->[$ix]
677 1 0 if ($t)
687 0 0 if ($self eq $orig)
706 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
714 6689 19716 if (ref $right->{$key} eq 'HASH' and ref $res{$key} eq 'HASH') { }
2905 16811 elsif (ref $right->{$key} eq 'ARRAY' and ref $res{$key} eq 'ARRAY') { }
730 1607 1298 if (@{$right->{$key};}) { }
732 0 1607 if ($v[0] eq 'append') { }
0 1607 elsif ($v[0] eq 'prepend') { }
771 0 40 unless defined $source
783 0 132 if $verbose > 1
788 0 283271 if (not defined $o) { }
50244 233027 elsif (UNIVERSAL::isa($o, 'HASH')) { }
19175 213852 elsif (UNIVERSAL::isa($o, 'ARRAY')) { }
793 50112 132 unless $path eq ""
799 19175 0 unless $path eq ""
818 6 6 $prp_context eq '' ? :
822 5 29 if (/^\d+$/u) { }
823 0 5 unless _ref($p) eq "ARRAY"
827 0 29 unless _ref($p) eq "HASH"
832 0 12 unless defined $p
1661 0 0 if ($compact)
1665 0 0 defined wantarray ? :