Condition Coverage

blib/lib/ChordPro/Chords/Parser.pm
Criterion Covered Total %
condition 65 139 46.7


and 3 conditions

line !l l&&!r l&&r condition
222 63786 5 0 $chord eq "" and $bass ne ""
0 23918 24 $self->{'c_rpat'} and $main::config->{'settings'}{'chordnames'} eq "relaxed"
23918 2 22 $self->{'c_rpat'} and $main::config->{'settings'}{'chordnames'} eq "relaxed" and $chord =~ /^$self->{'c_rpat'}$/u
23914 0 6 $main::config->{'settings'}{'notenames'} and ucfirst($chord) =~ /^$self->{'n_pat'}$/u
308 0 0 0 $info->{'name_canon'} ne $t and $main::config->{'debug'}{'chords'}
547 2 0 0 $main::options->{'verbose'} and $main::options->{'verbose'} > 1
659 2 0 0 $main::options->{'verbose'} and $main::options->{'verbose'} > 1
783 942 0 0 $self->is_keyboard and not @{$self->kbkeys // [1];}
814 6285 0 0 $self->{'parens'} and $self->{'name'} =~ /^\(.*\)$/u
837 0 0 1 $_[0]{'keys'} and @{$_[0]{'keys'};}
883 0 0 0 ref $self->{$_} eq "ARRAY" and @{$self->{$_};}
929 508 0 3 $self->{'bass'} and $self->{'bass'} ne ""
962 365 0 3 $self->{'bass'} and $self->{'bass'} ne ""
365 0 3 $self->{'bass'} and $self->{'bass'} ne "" and not $self->{'bass'} =~ /^\d+$/u
986 10 6 4 $key_ord and $p->movable
992 14 6 0 $p->{'system'} eq "roman" and $info->{'qual_canon'} eq "-"
996 20 0 0 $self->{'bass'} and $self->{'bass'} ne ""
997 0 0 0 $key_ord and $p->movable
1046 0 0 0 $self->{'bass'} and $self->{'bass'} ne ""
1065 4 0 0 $self->{'bass'} and $self->{'bass'} ne ""
1087 0 0 0 $self->{'bass'} and $self->{'bass'} ne ""
1108 4 0 0 $self->{'bass'} and $self->{'bass'} ne ""

or 2 conditions

line l !l condition
69 2 0 $main::config // {}
2 0 $init // {}
249 39871 6 $plus{'qual'} // ""
257 39871 6 $plus{'ext'} // ""
447 208 0 $main::config // {}
208 0 $init // {}
577 306 102 $+{'qual'} // ""
585 408 0 $+{'ext'} // ""
688 476 136 $+{'qual'} // ""
696 612 0 $+{'ext'} // ""
783 0 0 $self->kbkeys // [1]
785 780 162 $self->frets // []
800 0 0 $self->kbkeys // []
801 814 0 $self->frets // []

or 3 conditions

line l !l&&r !l&&!r condition
93 11504 0 0 $parsers{'common'} //= "ChordPro::Chords::Parser::Common"->new({%{$main::config;}, "notes", {"system", "common", "sharp", ["C", ["C#", "Cis", "C\x{266f}"], "D", ["D#", "Dis", "D\x{266f}"], "E", "F", ["F#", "Fis", "F\x{266f}"], "G", ["G#", "Gis", "G\x{266f}"], "A", ["A#", "Ais", "A\x{266f}"], "B"], "flat", ["C", ["Db", "Des", "D\x{266d}"], "D", ["Eb", "Es", "Ees", "E\x{266d}"], "E", "F", ["Gb", "Ges", "G\x{266d}"], "G", ["Ab", "As", "Aes", "A\x{266d}"], "A", ["Bb", "Bes", "B\x{266d}"], "B"]}})
132 220 128 0 $system //= $main::config->{'notes'}{'system'}
136 0 2 0 $parsers{$system} //= "ChordPro::Chords::Parser::Nashville"->new
140 0 2 0 $parsers{$system} //= "ChordPro::Chords::Parser::Roman"->new
158 0 0 0 $parsers{'common'} //= $self->default
251 7792 2074 30011 $q eq "m" or $q eq "min"
766 1931 11577 0 ref $pkg || $pkg
794 1331 0 8 defined $_[0]{'root'} or defined $_[0]{'bass'}
815 0 6285 0 $np or not $self->{'parens'}
938 0 6 38548 $self->is_rootless or $self->is_note
944 9 22179 16360 $self->{'bass_ord'} // ()
950 368 0 0 $dir //= $xpose <=> 0
1015 0 701 0 $self->{'display'} // $self
1055 0 0 0 $self->{'format'} || $main::config->{'settings'}{'chord-format'}
1096 0 0 0 $self->{'format'} || $main::config->{'settings'}{'chord-format'}