Branch Coverage

blib/lib/ChordPro.pm
Criterion Covered Total %
branch 76 210 36.1


line true false branch
82 0 91 if $main::options->{'debug'}
83 0 91 if $main::options->{'trace'}
84 0 91 if $main::options->{'debug'}
90 0 91 if $opts
91 0 91 if $main::options->{'debug'}
101 91 0 if (defined $of and $of ne '') { }
0 0 elsif (-t STDOUT) { }
102 8 83 if ($of =~ /\.pdf$/iu) { }
0 83 elsif ($of =~ /\.ly$/iu) { }
0 83 elsif ($of =~ /\.(tex|ltx)$/iu) { }
6 77 elsif ($of =~ /\.cho$/iu) { }
0 77 elsif ($of =~ /\.msp$/iu) { }
9 68 elsif ($of =~ /\.(crd|txt)$/iu) { }
3 65 elsif ($of =~ /\.html?$/iu) { }
0 65 elsif ($of =~ /\.mma?$/iu) { }
0 65 elsif ($of =~ /\.(md|markdown)$/iu) { }
0 65 elsif ($of =~ /\.(debug)$/iu) { }
137 0 0 if (@ARGV > 1 or $main::options->{'dump-chords'} and not @ARGV)
143 0 0 if $f eq $ARGV[0]
145 0 0 if $main::options->{'verbose'}
155 0 91 if $@
157 0 91 if $main::options->{'verbose'} and $pkg->can("version")
169 19 72 if ($main::options->{'a2crd'})
180 0 72 if ($file =~ /(^|\s)--(?:meta|config|define)\b/u)
186 0 0 unless &Getopt::Long::GetOptionsFromArray(\@w, "config=s\@", \@cfg, "meta=s%", \%meta, "define=s%", \%defs) and @w == 1
195 0 0 if (@cfg)
202 0 72 if ($main::options->{'dump-chords'})
211 0 0 if $c =~ /^n\.?c\.?$/iu
212 0 0 if ($c =~ /^(.[b#]?)/u and $1 ne $prev)
214 0 0 if @chords
225 0 0 if @chords
232 0 0 if (@{$s->{'songs'};} == 1 and not exists $s->{'songs'}[0]{'body'}) { }
242 72 0 if ($of)
244 0 72 if ($f ne $of)
247 0 0 if $main::options->{'verbose'}
254 12 60 if $main::options->{'output'} eq "*"
259 71 8 if ($res and @$res > 0)
260 71 0 if ($of and $of ne '-') { }
263 3 68 unless $res->[-1] eq ""
269 0 0 unless $res->[-1] eq ""
288 0 0 unless defined wantarray
693 91 0 if (defined $appname) { }
701 0 91 if ($app_lc eq "a2crd")
707 91 0 if (-d "/etc")
712 0 91 if ($ENV{'XDG_CONFIG_HOME'} and -d $ENV{'XDG_CONFIG_HOME'}) { }
91 0 elsif ($ENV{'HOME'} and -d $ENV{'HOME'}) { }
719 0 91 if (-d $dir) { }
732 0 91 if (-s ".$app_lc.json") { }
862 0 91 if ($reference)
894 0 91 unless ($ok)
903 0 0 $manual == 2 ? :
909 0 91 if $ident or $clo->{'verbose'} or $help or $manual
910 0 91 if ($manual or $help)
911 0 0 if $help
912 0 0 if $manual
914 0 91 if $version
915 0 91 if $about
921 0 182 if (defined $_)
922 0 0 unless -r $_
926 182 0 if $clo->{'nodefaultconfigs'}
927 0 0 unless $configs{$config}
929 0 0 unless -r $_
934 0 91 if (defined $_)
937 0 0 unless ($c =~ m[[/.]]u)
940 0 0 unless -r $c
945 91 0 if $clo->{'nodefaultconfigs'}
946 0 0 unless $configs{$config}
948 0 0 unless -r -f $_->[0]
953 273 0 unless $clo->{$config}
960 91 0 unless defined $clo->{$_}
973 0 91 if ($defcfg or $fincfg or $deltacfg)
974 0 0 if $defcfg
976 0 0 if $fincfg or $deltacfg
981 0 91 if ($dump_chords)
988 0 91 if ($clo->{'filelist'})
993 0 0 unless /\S/u
994 0 0 if /^#/u
999 0 0 if (@files)
1000 0 0 if ($files[0] =~ /\.pdf$/iu)
1004 0 0 if ($files[-1] =~ /\.pdf$/iu)
1009 0 0 if @files
1015 0 91 unless $main::__EMBEDDED__ or $clo->{'dump-chords'} or @ARGV
1024 0 0 if defined $exit
1046 0 0 if defined $exit
1055 0 8 defined $Wx::VERSION ? :
1056 0 8 defined $Wx::VERSION ? :
1062 0 8 if $main::options->{'reference'}
1063 8 0 if ($VERSION =~ /_/u)
1067 8 0 if ($short)
1076 0 0 if ($App::Packager::PACKAGED)
1078 0 0 unless $p =~ /packager/iu
1084 0 0 if ($ENV{'CHORDPRO_LIB'})
1096 0 0 if (defined $Wx::VERSION)
1118 0 0 unless eval { do { require PDF::Builder; $msg .= sprintf($fmtv, "PDF::Builder", &$dd($PDF::Builder::VERSION)) } }
1135 0 150 unless $path
1136 0 150 if ($^O =~ /Win/u)
1222 0 0 if defined $exit
1232 119 42 if $cfg
1235 119 42 unless ($f =~ m[[/.]]u)
1236 0 119 if ($c =~ /^(.+):(.*)/u) { }
1243 150 11 if ($ENV{'CHORDPRO_LIB'})
1247 0 150 if $main::options->{'debug'}
1248 0 150 if -r $lib . "/" . $f
1252 0 161 if $main::options->{'debug'}
1254 161 0 defined $t ? :