Branch Coverage

blib/lib/ChordPro/Output/ChordPro.pm
Criterion Covered Total %
branch 119 224 53.1


line true false branch
22 0 23 unless eval { do { $sb->{'songs'}[0]{'body'} } }
36 3 23 if (@book)
37 0 3 if $main::options->{'backend-option'}{'tidy'}
71 0 26 if ($s->{'preamble'})
76 26 0 if defined $s->{'meta'}{'title'}
77 6 20 if (defined $s->{'subtitle'})
81 26 0 if ($s->{'meta'})
82 0 26 if ($msp)
84 0 0 if defined $seq
89 32 98 if $k =~ /^(?:title|subtitle)$/
90 11 87 if ($k =~ /$re_meta/)
97 11 119 if $used{$k}
98 119 0 if $k =~ /^(?:title|subtitle|songindex|key_.*|chords|numchords)$/
99 0 0 if $k =~ /^_/
104 26 0 if ($s->{'settings'})
106 3 13 if ($_ eq 'diagrams') { }
1 12 elsif ($_ eq 'diagrampos') { }
107 1 2 if $s->{'settings'}{'diagrampos'}
109 0 2 if (is_ttrue($v)) { }
0 2 elsif (is_true($v)) { }
129 0 26 if $tidy
133 0 26 if (@{$s->{'body'};} and $s->{'body'}[-1]{'type'} eq "diagrams" and $s->{'body'}[-1]{'origin'} ne "__CLI__")
139 9 17 if ($s->{'define'})
142 0 27 if ($info->{'copyall'}) { }
0 27 elsif ($info->{'copy'}) { }
149 25 2 unless defined $info->{$_}
153 18 9 unless defined $info->{$_}
158 16 146 $_ < 0 ? :
159 27 0 if $info->{'frets'}
161 0 30 $_ < 0 ? :
162 5 22 if $info->{'fingers'} and @{$info->{'fingers'};}
165 0 27 if $info->{'keys'} and @{$info->{'keys'};}
167 24 3 unless defined $info->{$_}
169 0 3 if (is_true($v)) { }
170 0 0 if (is_ttrue($v))
181 0 9 if $tidy
187 24 2 if ($s->{'chords'} and $variant ne "msp")
188 24 0 unless $s->{'chords'}{'origin'} eq "__CLI__"
201 30 280 if ($elt->{'context'} ne $ctx)
202 12 18 if $ctx
204 18 12 if ($ctx)
208 4 14 if ($elt->{'type'} eq "set")
209 2 2 if ($elt->{'name'} eq 'gridparams') { }
2 0 elsif ($elt->{'name'} eq 'label') { }
212 0 2 if $gridparams[2]
214 2 0 if $gridparams[1]
215 2 0 if $gridparams[3]
216 0 2 if ($gridparams[4])
218 0 0 if $tag ne ""
223 2 0 if $tag ne ""
232 61 249 if ($elt->{'type'} eq "empty")
233 0 61 if $structured
239 3 246 if ($elt->{'type'} eq "colb")
240 0 3 if $msp
245 3 243 if ($elt->{'type'} eq "newpage")
246 0 3 if $msp
251 119 124 if ($elt->{'type'} eq "songline")
256 24 100 if ($elt->{'type'} eq "tabline")
261 4 96 if ($elt->{'type'} eq "gridline")
266 0 96 if ($elt->{'type'} eq "verse")
267 0 0 if $tidy
269 0 0 if ($e->{'type'} eq "empty")
270 0 0 if $structured
273 0 0 if ($e->{'type'} eq "song")
278 0 0 if $tidy
282 0 96 if ($elt->{'type'} eq "chorus")
283 0 0 if $tidy
286 0 0 if ($e->{'type'} eq "empty")
290 0 0 if ($e->{'type'} eq "songline")
296 0 0 if $tidy
300 0 96 if ($elt->{'type'} eq "rechorus")
301 0 0 if ($msp) { }
0 0 elsif ($rechorus->{'quote'}) { }
0 0 elsif ($rechorus->{'type'} and $rechorus->{'tag'}) { }
316 0 96 if ($elt->{'type'} eq "tab")
317 0 0 if $tidy
321 0 0 if $tidy
325 25 71 if ($elt->{'type'} =~ /^comment(?:_italic|_box)?$/)
327 10 15 $expand ? :
328 0 25 if ($msp)
329 0 0 $type eq 'comment_italic' ? :
0 0 $type eq 'comment' ? :
336 0 25 if ($elt->{'chords'})
340 0 0 if $elt->{'chords'}[$_] ne ""
344 0 25 if $msp
345 0 25 if $tidy
347 0 25 if $tidy
351 0 71 if ($elt->{'type'} eq "image")
353 0 0 if ($msp and not $uri =~ /^id=/)
362 0 0 unless /\s/
369 2 69 if ($elt->{'type'} eq "diagrams")
370 2 0 unless $elt->{'origin'} eq "__CLI__"
377 2 0 $s->{'chordsinfo'}{$_}{'origin'} eq 'inline' ? :
384 30 39 if ($elt->{'type'} eq "set")
385 0 30 if ($elt->{'name'} eq 'lyrics-only') { }
0 30 elsif ($elt->{'name'} eq 'transpose') { }
0 30 elsif ($elt->{'name'} =~ /^(chordpro\..+)/) { }
387 0 0 unless $lyrics_only > 1
406 39 0 if ($elt->{'type'} eq "ignore")
413 6 20 if $ctx
420 0 0 if $url =~ /\.(\w+)$/
426 0 0 unless (open $fd, "<:raw", $url)
435 0 0 if ($info->{'error'})
461 40 79 if ($lyrics_only or not exists $elt->{'chords'})
478 40 4 if $line
479 10 34 if ($_->{'class'} eq 'chord') { }
487 0 4 if ($elt->{'comment'})
488 0 0 if $line
491 0 0 if ($t->{'chords'}) { }
508 60 176 unless length $c
512 176 0 if ($variant ne "msp")
515 2 174 if $c->info->is_annotation