File Coverage

blib/lib/Data/Queue/Shared.pm
Criterion Covered Total %
statement 11 16 68.7
branch 1 2 50.0
condition n/a
subroutine 4 6 66.6
pod n/a
total 16 24 66.6


line stmt bran cond sub pod time code
1             package Data::Queue::Shared;
2 14     14   1839798 use strict;
  14         32  
  14         472  
3 14     14   78 use warnings;
  14         24  
  14         3177  
4             our $VERSION = '0.03';
5              
6             require XSLoader;
7             XSLoader::load('Data::Queue::Shared', $VERSION);
8              
9             # Keyword API hint activation (requires XS::Parse::Keyword)
10             sub _enable_keywords {
11 0     0   0 my ($pkg, @kws) = @_;
12 0         0 $^H{"$pkg/$_"} = 1 for @kws;
13             }
14              
15             for my $variant (qw(Int Int32 Int16 Str)) {
16             my $lc = lc $variant;
17             my $pkg = "Data::Queue::Shared::$variant";
18             my @kws = map { "q_${lc}_$_" } qw(push pop peek size);
19 14     14   98 no strict 'refs';
  14         28  
  14         2768  
20             *{"${pkg}::import"} = sub {
21 4     4   31 my $class = shift;
22 4 50       1766 return unless $Data::Queue::Shared::HAVE_KEYWORDS;
23 0           _enable_keywords($pkg, @kws);
24             };
25             *{"${pkg}::unimport"} = sub {
26 0     0     my $class = shift;
27 0           delete $^H{"$pkg/$_"} for @kws;
28             };
29             }
30              
31             1;
32              
33             __END__