File Coverage

blib/lib/Benchmark/Featureset/ParamCheck/Implementation/PVC/Specio.pm
Criterion Covered Total %
statement 37 37 100.0
branch n/a
condition n/a
subroutine 14 14 100.0
pod 0 2 0.0
total 51 53 96.2


line stmt bran cond sub pod time code
1 4     4   12581 use v5.12;
  4         11  
2 4     4   19 use strict;
  4         5  
  4         66  
3 4     4   16 use warnings;
  4         7  
  4         206  
4              
5              
6             our $AUTHORITY = 'cpan:TOBYINK';
7             our $VERSION = '0.007';
8              
9             use parent qw(Benchmark::Featureset::ParamCheck::Base::PVC);
10 4     4   21 use Params::ValidationCompiler 0.24 qw(validation_for);
  4         30  
  4         23  
11 4     4   224 use Ref::Util 0.203 ();
  4         46  
  4         145  
12 4     4   20 use Ref::Util::XS 0.116 ();
  4         46  
  4         58  
13 4     4   25 use Specio::Declare 0.37;
  4         43  
  4         90  
14 4     4   1589 use Specio::Library::Builtins 0.37;
  4         193472  
  4         21  
15 4     4   2108 use namespace::autoclean;
  4         74604  
  4         28  
16 4     4   27628  
  4         8  
  4         35  
17             use constant long_name => 'Params::ValidationCompiler with Specio';
18 4     4   293 use constant short_name => 'PVC-Specio';
  4         9  
  4         259  
19 4     4   21  
  4         7  
  4         666  
20             state $check = validation_for(
21             params => {
22 118     118 0 420 integer => { type => t('Int') },
23             hashes => { type => t('ArrayRef', of => t('HashRef')) },
24             object => { type => object_can_type('Printable', methods => [qw/ print close /]) },
25             },
26             );
27             }
28              
29             state $check = validation_for(
30             params => [
31             { type => t('Int') },
32 107     107 0 309 { type => t('ArrayRef', of => t('HashRef')) },
33             { type => object_can_type('Printable', methods => [qw/ print close /]) },
34             ],
35             );
36             }
37              
38             1;