Condition Coverage

lib/ChordPro/Config.pm
Criterion Covered Total %
condition 81 210 38.5


and 3 conditions

line !l l&&!r l&&r condition
89 119 130 0 $a and $cfg[$a]{'_src'} eq $cfg[$a - 1]{'_src'}
145 130 0 0 $ps->{'songbook'} and is_hashref($ps->{'songbook'})
130 0 0 $ps->{'songbook'} and is_hashref($ps->{'songbook'}) and %{$ps->{'songbook'};}
154 0 0 0 defined $ps->{'even-odd-songs'} and $ps->{'even-odd-songs'} <= 0
156 0 0 0 defined $ps->{'pagealign-songs'} and $ps->{'pagealign-songs'} != 1
201 0 833 0 @$_ and @$_ != 3
343 0 0 0 $dir ne "" and not fn_is_absolute($c)
382 89 119 0 @$c and $c->[0] eq "append"
486 4 0 0 $_->{'color'} and $_->{'color'} eq "foreground"
488 4 0 0 $_->{'background'} and $_->{'background'} eq "background"
490 0 0 1 exists $_->{'name'} and exists $_->{'size'}
0 0 1 exists $_->{'name'} and exists $_->{'size'} and keys %$_ == 2
496 0 1 1 $_->{'size'} and not $_->{'description'} =~ /\s+[\d.]+$/u
677 0 0 0 $to and $to ne "-"
770 4 0 2 ref $hash->{$key} eq "ARRAY" and ref $self->{$key} eq "ARRAY"
852 3 0 3 _ref($self) eq "HASH" and _ref($orig) eq "HASH"
873 4 0 2 _ref($orig->{$key}) eq "HASH" and _ref($self->{$key}) eq "HASH"
2 0 2 _ref($orig->{$key}) eq "ARRAY" and _ref($self->{$key}) eq "ARRAY"
1 0 0 not defined $self->{$key} and _ref($orig->{$key}) eq "ARRAY"
1 0 0 not defined $self->{$key} and _ref($orig->{$key}) eq "ARRAY" and not @{$orig->{$key};}
1 0 0 not defined $orig->{$key} and _ref($self->{$key}) eq "ARRAY"
1 0 0 not defined $orig->{$key} and _ref($self->{$key}) eq "ARRAY" and not @{$self->{$key};}
908 0 0 3 _ref($self) eq "ARRAY" and _ref($orig) eq "ARRAY"
997 357 0 0 $path =~ /^pdf\.formats\./u and $key =~ /\w+-even$/u
1009 28244 0 8507 ref $right->{$key} eq "HASH" and ref $res{$key} eq "HASH"
24730 357 3157 ref $right->{$key} eq "ARRAY" and ref $res{$key} eq "ARRAY"

or 2 conditions

line l !l condition
54 9 0 $main::options // {}
58 28 91 $main::options->{'verbose'} //= 0
114 119 0 $ENV{'USER'} || $ENV{'LOGNAME'} || getlogin || getpwuid $< || 'chordpro'
115 119 0 eval { do { (getpwuid $<)[6] } } || ''
133 0 0 $ps->{'diagrams'}{'show'} //= "right"
189 357 0 $cfg->{'pdf'}{'formats'}{'first'}{$format} // 1
239 0 1428 $cfg->{'pdf'}{'fonts'}{$ff}{'color'} //= "foreground"
240 119 1309 $cfg->{'pdf'}{'fonts'}{$ff}{'background'} //= "background"
288 0 0 ChordPro::Chords::get_parser() // ""
516 119 130 $ps->{'songbook'} // {}
541 0 0 $sort //= "subtitle"
568 0 0 $args{'delta'} || 0
569 0 0 $args{'default'} || 0
693 0 0 $path //= ""
868 0 0 $state //= "M"
873 2 0 $self->{$key} // ""
2 0 $orig->{$key} // ""
881 2 2 $state //= "M"
902 0 1 $state //= "M"
905 3 0 $state // "I"
916 0 1 $state //= "M"
918 1 0 $state // "I"
957 0 0 $state // "I"
1081 283790 132 $path //= ""

or 3 conditions

line l !l&&r !l&&!r condition
138 0 0 0 $new->{'toc'}{'title'} //= $ps->{'formats'}{'default'}{'toc-title'}
429 0 2293 0 $i->{'size'} //= $2
515 130 119 0 $ps //= $self->{'pdf'}
574 0 0 0 $default or $delta
589 0 0 0 $cfg //= configurator($main::options)
760 17 0 0 exists $self->{$key} or $path =~ /^pdf\.(?:info|fonts|fontconfig)\./u
17 0 0 exists $self->{$key} or $path =~ /^pdf\.(?:info|fonts|fontconfig)\./u or $path =~ /^pdf\.formats\.\w+-even\./u
0 0 0 exists $self->{$key} or $path =~ /^pdf\.(?:info|fonts|fontconfig)\./u or $path =~ /^pdf\.formats\.\w+-even\./u or $path =~ /^(meta|gridstrum\.symbols)\./u
0 0 0 exists $self->{$key} or $path =~ /^pdf\.(?:info|fonts|fontconfig)\./u or $path =~ /^pdf\.formats\.\w+-even\./u or $path =~ /^(meta|gridstrum\.symbols)\./u or $path =~ /^markup\.shortcodes\./u
0 0 0 exists $self->{$key} or $path =~ /^pdf\.(?:info|fonts|fontconfig)\./u or $path =~ /^pdf\.formats\.\w+-even\./u or $path =~ /^(meta|gridstrum\.symbols)\./u or $path =~ /^markup\.shortcodes\./u or $path =~ /^delegates\./u
0 0 0 exists $self->{$key} or $path =~ /^pdf\.(?:info|fonts|fontconfig)\./u or $path =~ /^pdf\.formats\.\w+-even\./u or $path =~ /^(meta|gridstrum\.symbols)\./u or $path =~ /^markup\.shortcodes\./u or $path =~ /^delegates\./u or $key =~ /^_/u
845 60 0 8 builtin::reftype($self) // ref $self
861 6 0 0 exists $self->{$key} or $key =~ /^_/u
6 0 0 exists $self->{$key} or $key =~ /^_/u or $path =~ m[^pdf/\.fonts\.]u
873 2 2 2 _ref($orig->{$key}) eq "HASH" and _ref($self->{$key}) eq "HASH" or _ref($orig->{$key}) eq "ARRAY" and _ref($self->{$key}) eq "ARRAY"
0 0 1 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};}
880 0 0 4 $m eq "D" or $m eq "I"
997 36394 0 357 exists $res{$key} or $path eq "pdf.fontconfig."
36394 0 357 exists $res{$key} or $path eq "pdf.fontconfig." or $path =~ /^pdf\.(?:info|fonts)\./u
0 0 357 exists $res{$key} or $path eq "pdf.fontconfig." or $path =~ /^pdf\.(?:info|fonts)\./u or $path =~ /^pdf\.formats\.\w+-even\./u
0 0 357 exists $res{$key} or $path eq "pdf.fontconfig." or $path =~ /^pdf\.(?:info|fonts)\./u or $path =~ /^pdf\.formats\.\w+-even\./u or $path =~ /^pdf\.formats\./u and $key =~ /\w+-even$/u
0 0 357 exists $res{$key} or $path eq "pdf.fontconfig." or $path =~ /^pdf\.(?:info|fonts)\./u or $path =~ /^pdf\.formats\.\w+-even\./u or $path =~ /^pdf\.formats\./u and $key =~ /\w+-even$/u or $path =~ /^(meta|gridstrum\.symbols)\./u
0 0 357 exists $res{$key} or $path eq "pdf.fontconfig." or $path =~ /^pdf\.(?:info|fonts)\./u or $path =~ /^pdf\.formats\.\w+-even\./u or $path =~ /^pdf\.formats\./u and $key =~ /\w+-even$/u or $path =~ /^(meta|gridstrum\.symbols)\./u or $path =~ /^delegates\./u
0 0 357 exists $res{$key} or $path eq "pdf.fontconfig." or $path =~ /^pdf\.(?:info|fonts)\./u or $path =~ /^pdf\.formats\.\w+-even\./u or $path =~ /^pdf\.formats\./u and $key =~ /\w+-even$/u or $path =~ /^(meta|gridstrum\.symbols)\./u or $path =~ /^delegates\./u or $path =~ /^parser\.preprocess\./u
0 0 357 exists $res{$key} or $path eq "pdf.fontconfig." or $path =~ /^pdf\.(?:info|fonts)\./u or $path =~ /^pdf\.formats\.\w+-even\./u or $path =~ /^pdf\.formats\./u and $key =~ /\w+-even$/u or $path =~ /^(meta|gridstrum\.symbols)\./u or $path =~ /^delegates\./u or $path =~ /^parser\.preprocess\./u or $path =~ /^markup\.shortcodes\./u
0 0 357 exists $res{$key} or $path eq "pdf.fontconfig." or $path =~ /^pdf\.(?:info|fonts)\./u or $path =~ /^pdf\.formats\.\w+-even\./u or $path =~ /^pdf\.formats\./u and $key =~ /\w+-even$/u or $path =~ /^(meta|gridstrum\.symbols)\./u or $path =~ /^delegates\./u or $path =~ /^parser\.preprocess\./u or $path =~ /^markup\.shortcodes\./u or $path =~ /^debug\./u
0 357 0 exists $res{$key} or $path eq "pdf.fontconfig." or $path =~ /^pdf\.(?:info|fonts)\./u or $path =~ /^pdf\.formats\.\w+-even\./u or $path =~ /^pdf\.formats\./u and $key =~ /\w+-even$/u or $path =~ /^(meta|gridstrum\.symbols)\./u or $path =~ /^delegates\./u or $path =~ /^parser\.preprocess\./u or $path =~ /^markup\.shortcodes\./u or $path =~ /^debug\./u or $key =~ /^_/u
1121 11 1 0 $p //= $def