Condition Coverage

lib/ChordPro/Output/PDF.pm
Criterion Covered Total %
condition 35 135 25.9


and 3 conditions

line !l l&&!r l&&r condition
67 8 0 0 $pagectrl->{'cover'} and not $main::options->{'title'}
99 0 24 8 defined $v and $v ne ""
127 7 0 1 $prefill and is_even($page_offset)
154 0 0 0 ($page + $page_offset) % 2 and $song->{'meta'}{'pages'}
0 0 0 ($page + $page_offset) % 2 and $song->{'meta'}{'pages'} and $song->{'meta'}{'pages'} == 2
170 24 0 0 $sb->{'assets'} and %{$sb->{'assets'};}
313 0 0 0 $nl and $break ne $prevbreak
349 0 0 8 $frontmatter_songbook and @{$frontmatter_songbook->{'songs'};}
408 8 0 0 defined $main::options->{'title'} and not @tocs
579 0 0 328 defined $v and defined $v->[0]
985 336 16 8 $font eq "chordfingers" and $_ eq "size"
1050 0 0 0 $k eq "align" and $v =~ /^(left|right|center)$/
0 0 0 $k eq "type" and $v =~ /^(strings?|keyboard)$/
1109 0 0 0 $a and $a->{'opts'}{'base'}
1123 0 0 0 $o and $xo
1129 0 0 0 $o->{'width'} and $o->{'vwidth'}

or 2 conditions

line l !l condition
92 0 0 $main::options->{'output'} || '__new__.pdf'
126 0 8 $main::options->{'start-page-number'} || 1
171 0 0 $song->{'assets'} //= {}
212 8 0 $main::config->{'contents'} //= [{$main::config->{'toc'}{'order'} eq "alpha" ? ("fields", ["title"]) : ("fields", ["songindex"]), "label", $main::config->{'toc'}{'title'}, "line", $main::config->{'toc'}{'line'}}]
283 16 0 $_->{'meta'}{'title'} //= [$_->{'title'}]
306 0 0 $song->{'body'} //= []
331 0 16 $song->{'body'} //= []
534 0 8 $main::options->{'start-page-number'} || 1
548 8 0 $main::options->{'output'} || '__new__.pdf'
573 8 0 $ctl->{'separator'} // ";"
574 8 0 $ctl->{'vseparator'} // "|"
621 0 8 $main::options->{'meta'} // {}
679 0 0 eval { do { $ps->{'fonts'}{$f}{'description'} } } || eval { do { $ps->{'fonts'}{$f}{'file'} } } || eval { do { '[' . $ps->{'fonts'}{$f}{'name'} . ']' } } || '[]'
797 0 0 $main::options->{'start-page-number'} ||= 1
842 0 0 $main::options->{'start-page-number'} || 1
1130 0 0 $fragment->{'design_scale'} ||= 1

or 3 conditions

line l !l&&r !l&&!r condition
49 8 0 0 $sb->{'songs'}[0]{'body'} or $sb->{'songs'}[0]{'source'}{'embedding'}
50 0 0 8 $verbose ||= $main::options->{'verbose'}
60 0 8 0 $main::options->{'toc'} // @{$sb->{'songs'};} > 1
179 0 24 0 $song->{'meta'}{'chordpro.songsource'} //= $song->{'source'}{'file'}
226 0 24 0 $main::options->{'toc'} // @book > 1
341 8 8 0 $frontmatter_songbook //= "ChordPro::Songbook"->new
569 0 0 8 $main::config->{'debug'}{'csv'} or $main::options->{'verbose'}
602 0 264 0 $_->{'value'} // '%{' . $_->{'meta'} . '}'
664 0 0 8 $main::config->{'debug'}{'csv'} or $main::options->{'verbose'}
913 0 8 0 $pdfapi //= config_pdfapi($pdf->{'library'})
986 136 216 0 $fonts->{$font}{$_} //= $fonts->{$def}{$_}
1005 0 8 0 $fonts->{'footer'}{'size'} //= "0.6" * $fonts->{'subtitle'}{'size'}
1118 0 0 0 $fragment->{'_img'} //= do { my $xo; if ($fragment->{'id'}) { my $o = ChordPro::Output::PDF::Song::assets($fragment->{'id'}); $xo = $o->{'data'} if $o; unless ($o and $xo) { warn("Unknown image ID in : $fragment->{'id'}\n") unless $fragment->{'id'} eq "__ERROR__"; $xo = alert($fragment->{'size'}); } ; $fragment->{'design_scale'} = $o->{'opts'}{'scale'}; if ($o->{'width'} and $o->{'vwidth'}) { $fragment->{'design_scale'} ||= 1; $fragment->{'design_scale'} *= $o->{'vwidth'} / $o->{'width'}; } ; } elsif ($fragment->{'builtin'}) { my $i = $fragment->{'builtin'}; if ($i =~ /^alert(?:\(([\d.]+)\))?$/) { $xo = alert($1 || $fragment->{'size'}); } else { warn("Unknown builtin image in : $i\n"); $xo = alert($fragment->{'size'}); } ; } elsif ($fragment->{'chord'}) { my $info = ChordPro::Chords::known_chord($fragment->{'chord'}); if ($info) { my $type = $fragment->{'instrument'} // $main::config->{'instrument'}{'type'}; my $p = ChordPro::Output::PDF::diagrammer($type); $xo = $p->diagram_xo($info); } else { warn("Unknown chord in : $fragment->{'chord'}\n"); $xo = alert($fragment->{'size'}); } ; } ; ($xo // $self->SUPER::getimage($fragment)) // alert($fragment->{'size'}) }
1137 0 0 0 $1 || $fragment->{'size'}
1151 0 0 0 $fragment->{'instrument'} // $main::config->{'instrument'}{'type'}
1156 0 0 0 $xo // $self->SUPER::getimage($fragment)
0 0 0 ($xo // $self->SUPER::getimage($fragment)) // alert($fragment->{'size'})

xor 4 conditions

line l&&r l&&!r !l&&r !l&&!r condition
144 0 0 0 0 is_even($page_offset) ^^ is_even($back_matter->pages)