Condition Coverage

lib/ChordPro/Chords/Parser.pm
Criterion Covered Total %
condition 71 142 50.0


and 3 conditions

line !l l&&!r l&&r condition
222 63795 0 0 $chord eq "" and $bass ne ""
0 23927 24 $self->{'c_rpat'} and $main::config->{'settings'}{'chordnames'} eq "relaxed"
23927 2 22 $self->{'c_rpat'} and $main::config->{'settings'}{'chordnames'} eq "relaxed" and $chord =~ /^$self->{'c_rpat'}$/u
23923 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 6442 0 0 $self->{'parens'} and $self->{'name'} =~ /^\(.*\)$/u
837 0 0 1 $_[0]{'keys'} and @{$_[0]{'keys'};}
905 0 0 0 ref $self->{$_} eq "ARRAY" and @{$self->{$_};}
949 508 0 3 $self->{'bass'} and $self->{'bass'} ne ""
982 365 0 3 $self->{'bass'} and $self->{'bass'} ne ""
365 0 3 $self->{'bass'} and $self->{'bass'} ne "" and not $self->{'bass'} =~ /^\d+$/u
1006 10 6 4 $key_ord and $p->movable
1012 14 6 0 $p->{'system'} eq "roman" and $info->{'qual_canon'} eq "-"
1016 20 0 0 $self->{'bass'} and $self->{'bass'} ne ""
1017 0 0 0 $key_ord and $p->movable
1051 0 0 0 $self->{'bass'} and $self->{'bass'} ne ""
1078 0 0 0 $self->{'bass'} and $self->{'bass'} ne ""

or 2 conditions

line l !l condition
69 2 0 $main::config // {}
2 0 $init // {}
249 39866 6 $plus{'qual'} // ""
257 39866 6 $plus{'ext'} // ""
447 291 0 $main::config // {}
291 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 // []
1033 0 0 ($main::config->{'chord-formats'}{'common'} // $main::config->{'settings'}{'chord-format'}) // "%{name}"
1061 4 0 $main::config->{'chord-formats'}{'nashville'} // "%{name}"
1088 4 0 $main::config->{'chord-formats'}{'roman'} // "%{name}"

or 3 conditions

line l !l&&r !l&&!r condition
93 11506 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 421 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 7791 2074 30007 $q eq "m" or $q eq "min"
766 1931 11579 0 ref $pkg || $pkg
794 1331 0 8 defined $_[0]{'root'} or defined $_[0]{'bass'}
815 0 6442 0 $np or not $self->{'parens'}
847 0 796 0 $self->{'display'} // $self
864 10 8 17727 $k eq "orig" or $k eq "xc"
18 69 17658 $k eq "orig" or $k eq "xc" or $k eq "xp"
958 0 6 38548 $self->is_rootless or $self->is_note
964 9 22179 16360 $self->{'bass_ord'} // ()
970 368 0 0 $dir //= $xpose <=> 0
1033 788 0 0 $main::config->{'chord-formats'}{'common'} // $main::config->{'settings'}{'chord-format'}