Branch Coverage

blib/lib/App/Sqitch/Plan.pm
Criterion Covered Total %
branch 172 186 92.4


line true false branch
194 376 442 if ($line =~ /\A(?<lspace>[[:blank:]]*)(?:#[[:blank:]]*(?<note>.+)|$)/)
197 334 42 if @lines and not $line->note
205 0 442 unless $line =~ /
230 90 352 if ($+{'name'} eq 'syntax-version') { }
345 7 elsif ($+{'name'} eq 'project') { }
236 11 334 unless $proj =~ /\A$name_re\z/
256 246 90 unless ($pragmas{'syntax_version'})
265 2 334 unless $pragmas{'project'}
271 266 1343 if ($line =~ /\A(?<lspace>[[:blank:]]*)(?:#[[:blank:]]*(?<note>.+)|$)/)
282 462 881 $line =~ /^[[:blank:]]*[\@]/ ? :
321 23 1320 if not $params{'name'} or not $params{'yr'} and $line =~ /$ts_re/
324 1 1 unless $params{'yr'} or $params{'planner_name'}
325 1 1318 unless $params{'yr'}
328 1 1317 unless $params{'planner_name'}
334 2 0 $type eq 'tag' ? :
2 1315 if exists $reserved{$params{'name'}}
340 1 1314 if $params{'name'} =~ /^[0-9a-f]{40}/
354 449 865 if ($type eq 'tag') { }
356 1 448 unless ($prev_change)
365 1 447 if (my $at = $line_no_for{$key})
376 1 446 if $params{'dependencies'}
378 376 70 if (@curr_changes)
402 1 864 if (my $at = $tag_changes{$params{'name'}})
411 214 650 if (my $deps = $params{'dependencies'})
414 1 306 unless my $dep_params = "App::Sqitch::Plan::Depend"->parse($depstring)
427 1 305 if $seen_dep{$depstring}++
428 73 232 if ($dep->conflicts) { }
439 375 487 $prev_tag ? :
578 284 $prev_change ? :
447 91 771 if (my $duped = $change_named{$params{'name'}})
463 120 179 if @curr_changes
485 453 14 ref $_[0] eq 'HASH' ? :
497 21 228 if ($dep->got_project) { }
499 1 20 if $dep->project ne $proj
502 0 228 if $dep->got_id
507 74 174 if ($key =~ /.@/) { }
510 74 0 if (my $tag_at = $$seen{"\@$tag"})
511 74 0 if (my $change_at = $seen->{$change})
512 73 1 if $change_at < $tag_at
517 163 11 if exists $seen->{$key} or $position{$key}
524 10 833 if @bad
529 458 9 unless @invalid
537 1 11 if ($change eq $dep) { }
8 3 elsif (my $pos = $position{$dep}) { }
544 6 2 if $delta > $max_delta
561 6 4 if ($max_delta)
614 6 13 if (my $d = delete $p{'direction'})
615 4 1 $d =~ /^DESC/i ? :
1 5 $d =~ /^ASC/i ? :
622 2 16 if (my $regex = delete $p{'planner'})
626 3 15 if (my $regex = delete $p{'name'})
632 5 13 if (my $op = lc(delete $p{'operation'} || ''))
635 2 1 $op eq 'revert' ? :
2 3 $op eq 'deploy' ? :
642 0 17 if %p
646 8 9 unless @filters
648 4 13 if ($reverse)
651 2 2 $limit ? :
654 0 9 unless my $change = $changes->change_at($index--)
655 9 0 if &any(sub {
662 1 12 $limit ? :
665 0 47 unless my $change = $changes->change_at(++$index)
666 27 20 if &any(sub {
675 1 5 unless defined $index
691 125 26 if (my $next = $self->peek)
695 24 2 if defined $self->current
702 2 90 if $pos < 0
718 0 4 unless &$code($_)
730 1 18 if defined $changes->index_of($key)
736 3 15 if (my $spec = $p{'change'}) { }
737 0 3 unless $change = $changes->get($spec)
742 0 15 unless $change = $changes->last_change
777 33 13 if $p->{'requires'}
789 28 16 if $p->{'conflicts'}
797 1 28 if (defined(my $idx = $changes->index_of($p{'name'} . "\@HEAD")))
814 15 9 if ($changes->count)
816 3 12 if ($prev->tags)
844 2 18 if not defined $tag_idx or $tag_idx < $idx
873 3 31 if $req->project ne $project
875 21 10 $req =~ /@/ ? :
25 6 if defined $changes->index_of($req =~ /@/ ? $req : $req . "\@HEAD")
877 2 4 if ($action eq 'add') { }
899 4 93 if exists $reserved{$name}
900 2 91 if $name =~ /^[0-9a-f]{40}/
905 33 58 unless ($name =~ /\A$name_re\z/)
906 11 22 if ($type eq 'change') { }
927 11 40 if (defined $from or defined $to)
934 11 26 if $line->isa("App::Sqitch::Plan::Blank") and not length $line->note
942 9 2 defined $from ? :
951 6 5 defined $to ? :
958 3 3 if (my(@tags) = $change->tags)
971 0 51 unless my $fh = $file->open(">:utf8_strict")
977 0 51 unless $fh->close