File Coverage

lib/File/DataClass/Constants.pm
Criterion Covered Total %
statement 18 18 100.0
branch 4 4 100.0
condition n/a
subroutine 7 7 100.0
pod 3 3 100.0
total 32 32 100.0


line stmt bran cond sub pod time code
1             package File::DataClass::Constants;
2              
3 7     7   65656 use strict;
  7         7  
  7         162  
4 7     7   22 use warnings;
  7         7  
  7         188  
5              
6 7     7   22 use Exporter 5.57 qw( import );
  7         95  
  7         174  
7 7     7   2321 use File::DataClass::Exception;
  7         17  
  7         2311  
8              
9             our @EXPORT = qw( ARRAY CODE CYGWIN EXCEPTION_CLASS FALSE HASH LANG
10             LOCALIZE LOCK_BLOCKING LOCK_NONBLOCKING MSOFT NO_UMASK_STACK
11             NUL PERMS SPC STAT_FIELDS STORAGE_BASE STORAGE_EXCEPTIONS
12             TILDE TRUE );
13              
14             my $_exception_class = 'File::DataClass::Exception';
15              
16             sub ARRAY () { 'ARRAY' }
17             sub CODE () { 'CODE' }
18             sub CYGWIN () { 'cygwin' }
19             sub FALSE () { 0 }
20             sub HASH () { 'HASH' }
21             sub LANG () { 'en' }
22             sub LOCALIZE () { '[_' }
23             sub MSOFT () { 'mswin32' }
24             sub NUL () { q() }
25             sub PERMS () { oct '0640' }
26             sub SPC () { ' ' }
27             sub TILDE () { '~' }
28             sub TRUE () { 1 }
29              
30 71     71 1 914 sub EXCEPTION_CLASS () { __PACKAGE__->Exception_Class }
31             sub LOCK_BLOCKING () { 1 }
32             sub LOCK_NONBLOCKING () { 2 }
33             sub NO_UMASK_STACK () { -1 }
34 345     345 1 18446 sub STAT_FIELDS () { qw( device inode mode nlink uid gid device_id
35             size atime mtime ctime blksize blocks ) }
36             sub STORAGE_BASE () { 'File::DataClass::Storage' }
37             sub STORAGE_EXCEPTIONS () { 'File::DataClass::Storage::WithLanguage' }
38              
39             sub Exception_Class {
40 73 100   73 1 964 my ($self, $class) = @_; defined $class or return $_exception_class;
  73         475  
41              
42 2 100       43 $class->can( 'throw' )
43             or die "Class '${class}' is not loaded or has no 'throw' method";
44              
45 1         3 return $_exception_class = $class;
46             }
47              
48             1;
49              
50             __END__