Branch Coverage

blib/lib/Test/Changes/Strict/Simple.pm
Criterion Covered Total %
branch 125 138 90.5


line true false branch
55 9 0 if (@_ >= 2 and $_[0] =~ /^-/) { }
67 2 10 if (exists $opts{'version_re'})
69 0 2 if ref $Ver_Re ne "Regexp"
71 2 10 if exists $opts{'check_dots'}
75 0 12 if %opts
79 0 12 if (@exports) { }
1 11 elsif ($no_export) { }
102 3 120 if (exists $args{'module_version'})
105 0 122 if %args
110 8 114 unless _read_file($changes_file, \@lines)
112 12 102 unless _check_and_clean_spaces(\@lines)
115 10 92 unless _check_title(\@lines)
118 65 27 unless _check_changes(\@lines, \@versions)
119 3 24 if $Reverse
120 8 19 unless _check_version_monotonic(\@versions)
121 2 17 if ($mod_version)
123 1 1 unless $mod_version eq $top_ver
126 0 18 if ($release_today)
128 0 0 unless $top_date eq strftime("%Y-%m-%d", localtime)
132 2 16 unless my $ok = $TB->ok($trailing_empty_lines <= 3, $Test_Name)
141 2 120 unless -e $fname
142 0 118 unless -f $fname and -r $fname and -T $fname
144 0 118 unless open my $fh, "<", $fname
145 2 116 unless @$lines = readline $fh
146 2 114 unless substr($lines->[-1], -1) eq "\n"
170 12 931 if $$lines[$i - 1] =~ s/[^\S\ ]/ /g
171 16 927 if $$lines[$i - 1] =~ s/\s+$//
174 6 108 if (@other_spaces)
175 4 2 @other_spaces > 1 ? :
178 8 106 if (@trailing_spaces)
179 4 4 @trailing_spaces > 1 ? :
184 12 102 $diag ? :
204 92 10 $ok ? :
211 43 49 $Empty_Line_After_Version ? :
227 43 49 $Empty_Line_After_Version ? :
239 240 403 if ($line eq '') { }
143 260 elsif ($line =~ /^[^-\s]/) { }
175 85 elsif ($line =~ s/^(\s*)-//) { }
85 0 elsif ($line =~ /^(\s+)[^-\s]/) { }
242 11 226 if $Chk_Dots and (exists $item_line{$old_state} and not $$lines[$i - 2] =~ /\.$/)
245 100 140 if (exists $item_line{$old_state} or $old_state eq 'st_empty_after_item') { }
247 6 94 if (defined $next_line and not $next_line =~ /^\S/)
253 5 135 unless ($state = $empty_line_st{$old_state})
258 5 138 unless (exists $states{$state}{'st_version'})
263 117 21 if (ref $result) { }
272 2 173 unless (exists $states{$state}{'st_item'})
276 7 162 if $Chk_Dots and (exists $item_line{$state} and not $$lines[$i - 2] =~ /\.$/)
277 6 167 unless ($line =~ /^ \S+/)
281 2 165 if ($heading_spaces eq '') { }
111 54 elsif (defined $indent) { }
284 8 103 if length $heading_spaces != $indent
289 7 78 unless (exists $states{$state}{'st_item_cont'})
294 8 70 unless (length $heading_spaces == $indent + 2)
298 65 27 if (%errors or $i > @$lines and not exists $states{$state}{'st_EOF'})
299 62 3 if (%errors)
305 4 61 if $i > @$lines and not exists $states{$state}{'st_EOF'}
307 65 27 $diag ? :
315 27 0 if (@$versions) { }
319 5 26 unless ($v1 > $v2)
322 2 3 $v1 == $v2 ? :
325 3 23 if ($e1 < $e2)
335 8 19 $diag ? :
344 4 134 unless (my($ver_str, $date) = split(/\s+/, $line, 3)) == 2
345 5 129 unless $ver_str =~ /^$Ver_Re$/
347 0 129 unless eval { do { $version = "version"->parse($ver_str); 1 } }
348 4 125 unless $date =~ /^(\d{4})-(\d{2})-(\d{2})$/
351 4 121 unless eval { do { $epoch = Time::Local::timelocal(0, 0, 0, $d, $m - 1, $y); 1 } }
355 2 119 unless $y >= 1987
356 2 117 unless $epoch <= 1774064501