Branch Coverage

blib/lib/Test/Class.pm
Criterion Covered Total %
branch 149 156 95.5


line true false branch
45 835 101 ref $self ? :
55 1 597 unless my $test_info = _test_info($self)
67 93 52 if ('Test::Class::MethodInfo'->is_num_tests($arg)) { }
51 1 elsif ('Test::Class::MethodInfo'->is_method_type($arg)) { }
83 116 6 unless $parent_class->can($name)
84 4 2 if _method_info($class, $parent_class, $name)
91 1 121 if ($symbol eq 'ANON') { }
95 1 120 if _is_public_method($class, $name)
97 1 120 unless eval { do { $class->add_testinfo($name, _parse_attribute_args($args)) } }
119 508 125 ref $self ? :
125 58 1 unless ref $proto
137 1 301 if $@
145 425 332 if ($info->type eq 'test')
149 34 56 unless &$filter($class, $name)
154 174 683 if ($info->is_type($type))
155 171 3 unless $type eq 'test' and not $name =~ /$method_regexp/
168 2 45 if (my $reason = $self->SKIP_CLASS)
169 1 1 $reason eq '1' ? :
172 23 22 unless @test_methods
177 2 20 if $num_startup_shutdown_methods eq 'no_plan'
180 2 18 if $num_fixture_tests eq 'no_plan'
182 4 14 if $num_tests eq 'no_plan'
189 47 6 if (_isa_class('Test::Class', $test)) { }
4 2 elsif (defined $test and $test =~ /^\d+$/) { }
191 8 39 if $n eq 'no_plan'
196 1 1 unless defined $test
210 31 281 unless $info
212 16 265 if $num_tests eq 'no_plan'
214 254 11 unless $num_tests =~ /^\+/
229 0 104 if ($Builder->can('history')) { }
235 5 99 if $start_test == $current_test
237 12 110 unless $result
246 2 7 if defined $Current_method and $method ne $Current_method
258 115 88 if defined $optional_value
273 8 121 unless (defined $description)
278 17 112 unless ($is_ok)
285 17 87 unless $skip_reason
289 3 101 if $num_expected eq 'no_plan'
290 97 7 if ($num_done == $num_expected) { }
1 6 elsif ($num_done > $num_expected) { }
291 5 92 if $exception
298 4 4 if ($exception) { }
303 2 2 if ($self->fail_if_returned_early) { }
319 100 10 if $Builder->has_plan
321 1 9 if ($num_tests eq 'no_plan') { }
332 3 109 if @_
338 1 138 unless defined $object_or_class
339 0 138 if $object_or_class eq 'Contextual::Return::Value'
341 126 12 if $object_or_class->isa($class)
352 35 9 if (@tests == 1 and not ref $tests[0])
359 3 60 if $t =~ /^\d+$/
360 1 59 unless _isa_class('Test::Class', $t)
362 3 56 if (my $reason = $t->SKIP_CLASS) { }
364 1 2 unless $reason eq '1'
366 51 5 unless ref $t
368 41 13 if (@test_methods)
370 7 1 unless _has_no_tests($t, $method)
372 1 7 unless $method_passed
373 1 7 unless $method_passed
380 3 51 if $ENV{'TEST_VERBOSE'}
383 84 6 unless _has_no_tests($t, $method)
384 11 77 unless _run_method($t, $method, \@tests)
385 8 80 if (_threw_exception($t, $method))
386 6 2 if $method eq $test
394 7 1 unless _has_no_tests($t, $method)
395 0 8 unless _run_method($t, $method, \@tests)
407 9 26 if $class eq 'Test::Class'
408 20 6 if _isa_class('Test::Class', $class)
415 1 20 unless my $class = _find_calling_test_class($self)
417 1 19 unless my $info = _method_info($self, $class, $method)
419 6 13 if defined $n
425 0 9 unless defined $Current_method
436 1 3 unless $Builder->expected_tests
442 0 3 unless $Builder->has_plan
444 0 3 $Builder->can('history') ? :
446 3 0 $num_failed < 254 ? :
451 1 1 unless $Builder->has_plan
461 1 5 unless (ref $cb eq 'CODE')