Condition Coverage

lib/ChordPro/Songbook.pm
Criterion Covered Total %
condition 22 43 51.1


and 3 conditions

line !l l&&!r l&&r condition
51 0 1 185 not defined $main::options->{'a2crd'} && !$main::options->{'a2crd'} || $main::options->{'fragment'} and &any(sub { /\S/; } , @$lines)
1 185 0 not defined $main::options->{'a2crd'} && !$main::options->{'a2crd'} || $main::options->{'fragment'} and &any(sub { /\S/; } , @$lines) and $main::options->{'crd'} || !&any(sub { /^{\s*\w+/; } , @$lines)
93 2 3 2 $v->{'opts'} and $v->{'opts'}{'persist'}
101 0 0 16 $song->{'body'} and &any(sub { $_->{'type'} ne "ignore"; } , @{$$song{"body"};})

or 2 conditions

line l !l condition
35 97 89 $opts //= {}
36 72 114 delete $opts->{'meta'} // {}
37 72 114 delete $opts->{'defs'} // {}
61 186 0 $opts //= {}
91 0 4 $self->{'assets'} //= {}

or 3 conditions

line l !l&&r !l&&!r condition
51 0 0 186 defined $main::options->{'a2crd'} && !$main::options->{'a2crd'} || $main::options->{'fragment'}
0 0 185 $main::options->{'crd'} || !&any(sub { /^{\s*\w+/; } , @$lines)
56 0 0 0 $main::options->{'a2crd'} || $main::options->{'crd'}
0 0 0 $main::options->{'verbose'} or not $main::options->{'a2crd'} || $main::options->{'crd'}
81 45 169 0 $opts->{'bookmark'} //= sprintf("song_%d", 1 + @{$self->{'songs'};})
108 185 1 0 $songs or $main::running_under_test
136 0 0 0 $defs->{'title'} // $filename