Branch Coverage

lib/MCP/Run/Compress.pm
Criterion Covered Total %
branch 48 154 31.1


line true false branch
18 0 9 unless @words
25 3 4 unless ($words[$i] =~ /^-/u)
31 6 3 unless defined $subcommand
79 342 90 if ($parsed_command) { }
113 0 148 unless $parsed and $filter_spec
116 146 2 if ($filter_spec->{'program'} // "") ne ($parsed->{'program'} // "")
119 2 0 if (defined $filter_spec->{'subcommand'})
120 2 0 if ($filter_spec->{'subcommand'} // "") ne ($parsed->{'subcommand'} // "")
125 0 0 unless $parsed->{'flags'}{$flag}
156 6 3 if ($line =~ /^([d-])[rwx-]{9}\s+\d+\s+\S+\s+\S+\s+\d+\s+\w+\s+\d+\s+[\d:]+\s+(.+)$/u)
245 0 0 if ($line =~ /^\s*(\S+)\s*\|\s*(\d+)\s*\+(\d+)\s*-\s*(\d+)/u)
249 0 0 if ($line =~ /^\s*(\S+)\s*\|\s*(\d+)\s+\+(\d+),?\s*(\d+)?\s*-/u)
255 0 0 if ($line =~ /^\s*\d+\s+files?\s+changed/u)
813 0 0 unless $model
814 0 0 if ($cmd =~ /Co-Authored-By:/iu) { }
844 148 48 if (my $pc = $filter->{'parsed_command'}) { }
8 40 elsif ($command =~ /$key/u) { }
845 0 148 if $self->_match_parsed_command($pc, $parsed)
852 188 8 unless $matches
855 1 7 if (my $detect = $filter->{'output_detect'})
858 0 1 unless ($has_match)
868 0 8 if ($matched_filter and $matched_filter->{'command_transform'} and not $ENV{'MCP_RUN_COMPRESS_NO_CO_AUTHORED'})
872 1 8 unless ($matched_filter)
879 0 8 if ($matched_filter->{'filter_stderr'})
880 0 0 if length $err
885 0 8 if ($matched_filter->{'strip_ansi'})
892 0 4 if ($out =~ /$match->{'pattern'}/u)
898 1 7 if ($matched_filter->{'transform'})
903 7 1 if (@{$matched_filter->{'strip_lines_matching'};})
908 15 302 if (/$pattern/u)
919 0 8 if (@{$matched_filter->{'keep_lines_matching'};})
924 0 0 if (/$pattern/u)
935 5 3 if ($matched_filter->{'truncate_lines_at'} > 0)
937 1 27 if (length $_ > $max) { }
938 0 0 if (length $_ > $max) { }
0 5 if length $err
942 0 8 if ($matched_filter->{'head_lines'} > 0) { }
0 8 elsif ($matched_filter->{'tail_lines'} > 0) { }
947 0 0 if ($omit > 0 and $tail > 0) { }
0 0 elsif ($omit > 0) { }
960 8 0 if ($matched_filter->{'max_lines'} > 0)
962 1 7 if (@out_lines > $matched_filter->{'max_lines'})
968 1 0 if (not length trim($out) and $matched_filter->{'on_empty'})
986 0 0 if (my $pc = $filter->{'parsed_command'}) { }
0 0 elsif ($command =~ /$key/u) { }
987 0 0 if $self->_match_parsed_command($pc, $parsed)
993 0 0 unless $matches
995 0 0 if (my $detect = $filter->{'output_detect'})
998 0 0 unless ($has_match)
1009 0 0 if ($matched_filter and $matched_filter->{'command_transform'} and not $ENV{'MCP_RUN_COMPRESS_NO_CO_AUTHORED'})
1013 0 0 unless ($matched_filter)
1017 0 0 if ($matched_filter->{'filter_stderr'})
1018 0 0 if length $err
1022 0 0 if ($matched_filter->{'strip_ansi'})
1028 0 0 if ($out =~ /$match->{'pattern'}/u)
1033 0 0 if ($matched_filter->{'transform'})
1037 0 0 if (@{$matched_filter->{'strip_lines_matching'} // [];})
1042 0 0 if (/$pattern/u)
1052 0 0 if (@{$matched_filter->{'keep_lines_matching'} // [];})
1057 0 0 if (/$pattern/u)
1067 0 0 if ($matched_filter->{'truncate_lines_at'} > 0)
1069 0 0 if (length $_ > $max) { }
1070 0 0 if (length $_ > $max) { }
0 0 if length $err
1073 0 0 if ($matched_filter->{'head_lines'} > 0) { }
0 0 elsif ($matched_filter->{'tail_lines'} > 0) { }
1078 0 0 if ($omit > 0 and $tail > 0) { }
0 0 elsif ($omit > 0) { }
1090 0 0 if ($matched_filter->{'max_lines'} > 0)
1092 0 0 if (@out_lines > $matched_filter->{'max_lines'})
1097 0 0 if (not length trim($out) and $matched_filter->{'on_empty'})
1106 0 0 if $ENV{'MCP_RUN_COMPRESS_NO_CO_AUTHORED'}
1115 0 0 if (my $pc = $filter->{'parsed_command'}) { }
0 0 elsif ($command =~ /$key/u) { }
1116 0 0 if $self->_match_parsed_command($pc, $parsed)
1122 0 0 unless $matches
1124 0 0 if ($filter->{'command_transform'})