Branch Coverage

blib/lib/Class/Agreement.pm
Criterion Covered Total %
branch 109 132 82.5


line true false branch
173 0 73 if $parent eq $prune
175 14 59 if $parent->can($method)
189 0 99 unless defined $glob
191 0 99 unless ref $block eq 'CODE'
201 2 82 unless (_subroutine_exists($this_symbol))
203 1 1 if (my $parent = _parent_class_of_method($package, $glob)) { }
213 60 23 unless 'Class::Inspector'->subclasses($package)
216 102 33 if _subroutine_exists($symbol)
225 28 90 if (my(@contracts) = _get_contracts($symbol, $type))
228 13 15 if ($contracts[0][3] ne $source_class)
239 71 47 if (not _has_a_contract($symbol))
264 588 227 unless $$contracts{$symbol}{$type}
281 2 316 $_[1] =~ /::/ ? :
287 8 59 exists $$constructors{$package} ? :
308 71 0 defined $parent ? :
319 54 74 if (blessed($_[0]))
323 0 15 if ($@) { }
1 14 elsif (not $success) { }
342 0 19 if ($@) { }
3 16 elsif (not defined $postcondition) { }
0 16 elsif (ref $postcondition ne 'CODE') { }
366 0 79 if ($@) { }
28 51 elsif (not $success) { }
371 8 20 if (defined $parent and my(@parent_contracts) = _get_contracts(_package_and_method_to_symbol($parent, $method), 'pre')) { }
381 4 4 if (eval { do { &$parent_block(_copy_of(@arguments)) } }) { }
409 1 14 wantarray ? :
81 15 !defined(wantarray) ? :
419 6 68 wantarray ? :
430 0 66 if ($@) { }
12 54 elsif (defined $parent and my(@parent_contracts) = (_get_contracts($parent_symbol, 'post'), _get_contracts($parent_symbol, 'temp-post'))) { }
22 32 elsif (not $child_success) { }
447 0 12 if ($@) { }
2 10 elsif ($child_success and not $parent_success) { }
5 5 elsif (not $child_success) { }
476 40 27 if (blessed($_[0]) or $is_constructor)
480 14 14 $is_constructor ? :
486 0 28 if ($@) { }
1 27 elsif (not $success) { }
498 1 65 wantarray ? :
575 29 16 if (not ref $glob) { }
16 0 elsif (defined ref $glob and ref $glob eq 'CODE') { }
585 0 20 if ($@) { }
7 13 elsif (not $success) { }
594 1 15 if (defined wantarray) { }
676 21 15 if (not ref $glob) { }
15 0 elsif (defined ref $glob and ref $glob eq 'CODE') { }
687 4 3 wantarray ? :
14 7 !defined(wantarray) ? :
696 4 24 wantarray ? :
700 0 19 if ($@) { }
7 12 elsif (not $success) { }
712 3 12 if (defined wantarray) { }
783 9 9 if (not ref $glob) { }
9 0 elsif (defined ref $glob and ref $glob eq 'CODE') { }
794 0 16 if ($@) { }
3 13 elsif (not defined $postcondition) { }
0 13 elsif (ref $postcondition ne 'CODE') { }
806 4 0 wantarray ? :
9 4 !defined(wantarray) ? :
815 4 13 wantarray ? :
818 0 11 if ($@) { }
4 7 elsif (not $success) { }
830 0 9 if (defined wantarray) { }
898 0 11 unless ref $block eq 'CODE'
903 10 1 unless 'Class::Inspector'->subclasses($package)
917 0 13 unless 'Class::Inspector'->methods($class, 'public')