File Coverage

blib/lib/Test/Lives.pm
Criterion Covered Total %
statement 31 32 96.8
branch 2 4 50.0
condition n/a
subroutine 8 8 100.0
pod 0 1 0.0
total 41 45 91.1


line stmt bran cond sub pod time code
1 1     1   79078 use 5.006; use strict; use warnings;
  1     1   3  
  1     1   4  
  1         2  
  1         15  
  1         4  
  1         1  
  1         34  
2              
3             package Test::Lives;
4              
5             our $VERSION = '1.003';
6              
7 1     1   4 use Carp ();
  1         2  
  1         9  
8 1     1   4 use Test::Builder ();
  1         1  
  1         171  
9              
10             my $Tester = Test::Builder->new;
11              
12             sub lives_and (&;$) {
13 3     3 0 5436 my ( $code, $name ) = @_;
14              
15 3         5 my $ok;
16              
17             eval {
18 3         7 local $Carp::Internal{(__PACKAGE__)} = 1;
19 3         8 $ok = $code->() for $name;
20 2         1814 1;
21 3 100       4 } or do {
22 1         11 my $e = "$@";
23 1         4 $ok = $Tester->ok( 0, $name );
24 1         793 $Tester->diag( $e );
25             };
26              
27 3         189 return $ok;
28             }
29              
30             sub import {
31 1     1   9 my $class = shift;
32 1 0       2 do { die "Unknown symbol: $_" if $_ ne 'lives_and' } for @_;
  0         0  
33 1     1   6 no strict 'refs';
  1         1  
  1         69  
34 1         3 *{ caller . '::lives_and' } = \&lives_and;
  1         1896  
35             }
36              
37             1;
38              
39             __END__