File Coverage

blib/lib/Attribute/QueueStack.pm
Criterion Covered Total %
statement 31 31 100.0
branch 6 6 100.0
condition n/a
subroutine 11 11 100.0
pod 0 2 0.0
total 48 50 96.0


line stmt bran cond sub pod time code
1             package Attribute::QueueStack;
2              
3 3     3   84353 use 5.006;
  3         12  
  3         140  
4 3     3   19 use strict;
  3         6  
  3         116  
5              
6 3     3   3764 use Attribute::Handlers;
  3         19124  
  3         21  
7 3     3   5485 use Devel::StrictMode;
  3         5387  
  3         261  
8              
9             BEGIN {
10 3     3   7 $Attribute::QueueStack::AUTHORITY = 'cpan:TOBYINK';
11 3         322 $Attribute::QueueStack::VERSION = '0.002';
12             }
13              
14             sub _detect_strict ()
15             {
16 4 100   3   125 return 0 if $ENV{PERL_QUEUESTACK_LOOSE};
17 3         11 return 1 if STRICT;
18 2 100       132 return 1 if $ENV{PERL_QUEUESTACK_STRICT};
19 1         110 return 0;
20             }
21              
22 3 100   3   42 BEGIN { *ARMED = _detect_strict ? sub () { !!1 } : sub () { !!0 } };
23              
24             sub UNIVERSAL::Queue :ATTR(ARRAY)
25             {
26 2     2 0 2852 my ($package, $symbol, $referent, $attr, $data, $phase) = @_;
27 2         3 if (ARMED)
28             {
29             require Tie::Array::Queue;
30             tie @$referent, "Tie::Array::Queue";
31             }
32 2         1440 return;
33 3     3   24 }
  3         8  
  3         59  
34              
35             sub UNIVERSAL::Stack :ATTR(ARRAY)
36             {
37 2     2 0 2124 my ($package, $symbol, $referent, $attr, $data, $phase) = @_;
38 2         4 if (ARMED)
39             {
40             require Tie::Array::Stack;
41             tie @$referent, "Tie::Array::Stack";
42             }
43 2         776 return;
44 4     3   1283 }
  4         23  
  3         20  
45              
46             1;
47              
48             __END__