File Coverage

blib/lib/Attribute/QueueStack.pm
Criterion Covered Total %
statement 34 34 100.0
branch 6 6 100.0
condition n/a
subroutine 12 12 100.0
pod 0 2 0.0
total 52 54 96.3


line stmt bran cond sub pod time code
1 3     3   88732 use 5.006;
  3         10  
  3         126  
2 3     3   18 use strict;
  3         7  
  3         99  
3 3     3   27 use warnings;
  3         5  
  3         146  
4              
5             package Attribute::QueueStack;
6              
7 3     3   3379 use Attribute::Handlers;
  3         18745  
  3         21  
8 3     3   6212 use Devel::StrictMode;
  3         8381  
  3         309  
9              
10             BEGIN {
11 3     3   6 $Attribute::QueueStack::AUTHORITY = 'cpan:TOBYINK';
12 3         298 $Attribute::QueueStack::VERSION = '0.003';
13             }
14              
15             sub _detect_strict ()
16             {
17 4 100   3   95 return 0 if $ENV{PERL_QUEUESTACK_LOOSE};
18 3         10 return 1 if STRICT;
19 2 100       101 return 1 if $ENV{PERL_QUEUESTACK_STRICT};
20 1         114 return 0;
21             }
22              
23 3 100   3   11 BEGIN { *ARMED = _detect_strict ? sub () { !!1 } : sub () { !!0 } };
24              
25             sub UNIVERSAL::Queue :ATTR(ARRAY)
26             {
27 2     2 0 4000 my ($package, $symbol, $referent, $attr, $data, $phase) = @_;
28 2         6 if (ARMED)
29             {
30             require Tie::Array::Queue;
31             tie @$referent, "Tie::Array::Queue";
32             }
33 2         8029 return;
34 3     3   21 }
  3         7  
  3         20  
35              
36             sub UNIVERSAL::Stack :ATTR(ARRAY)
37             {
38 2     2 0 2673 my ($package, $symbol, $referent, $attr, $data, $phase) = @_;
39 2         5 if (ARMED)
40             {
41             require Tie::Array::Stack;
42             tie @$referent, "Tie::Array::Stack";
43             }
44 2         745 return;
45 4     3   1265 }
  4         32  
  3         13  
46              
47             1;
48              
49             __END__