File Coverage

blib/lib/HOE/POE/Callstack.pm
Criterion Covered Total %
statement 9 11 81.8
branch 1 2 50.0
condition n/a
subroutine 5 7 71.4
pod 0 4 0.0
total 15 24 62.5


line stmt bran cond sub pod time code
1             package POE::Callstack;
2              
3 110     110   892 use base 'Exporter';
  110         221  
  110         31298  
4              
5             @EXPORT_OK = qw(PUSH POP PEEK CURRENT_SESSION CURRENT_EVENT);
6              
7             my @stack;
8              
9             sub PUSH {
10 977     977   1940 my ($session, $event) = @_;
11              
12 977         7355 push @stack, [$session, $event];
13             }
14              
15             sub POP {
16 767     767   362433 my $return = pop @stack;
17 767         3090 return @$return;
18             }
19              
20             sub PEEK {
21 0     0 0 0 return $stack[-1];
22             }
23              
24             sub CURRENT_SESSION {
25 1124     1124 0 165361 return $stack[-1]->[0];
26             }
27              
28             sub CURRENT_EVENT {
29 0     0 0 0 return $stack[-1]->[1];
30             }
31              
32             sub CLEAN {
33 87 50   87 0 321 die if @stack;
34             }
35              
36             1;