File Coverage

blib/lib/Test2/Roo/Role.pm
Criterion Covered Total %
statement 26 28 92.8
branch 3 6 50.0
condition n/a
subroutine 7 7 100.0
pod n/a
total 36 41 87.8


line stmt bran cond sub pod time code
1 4     4   42534 use 5.008001;
  4         18  
2 4     4   22 use strictures;
  4         8  
  4         24  
3              
4             package Test2::Roo::Role;
5             # ABSTRACT: Composable role for Test2::Roo
6              
7             our $VERSION = '1.005';
8              
9 4     4   1030 use Test2::Roo (); # no imports!
  4         9  
  4         72  
10 4     4   20 use Sub::Install;
  4         8  
  4         32  
11              
12             sub import {
13 4     4   30 my ( $class, @args ) = @_;
14 4         10 my $caller = caller;
15 4         31 Sub::Install::install_sub(
16             { into => $caller, code => 'test', from => 'Test2::Roo' } );
17 4         382 strictures->import; # do this for Moo, since we load Moo in eval
18 4     4   28 eval qq{
  4         8  
  4         23  
  4         795  
19             package $caller;
20             use Moo::Role;
21             };
22 4 50       1316 die $@ if $@;
23 4 50       15 if (@args) {
24 0         0 unshift @args, '!meta';
25 0         0 eval qq{ package $caller; use Test2::V0 \@args };
26             }
27             else {
28 4     4   27 eval qq{ package $caller; use Test2::V0 '!meta' };
  4         8  
  4         31  
  4         268  
29             }
30 4 50       29179 die $@ if $@;
31             }
32              
33             1;
34              
35              
36             # vim: ts=4 sts=4 sw=4 et:
37              
38             __END__