File Coverage

blib/lib/HTTP/OAI/PartialList.pm
Criterion Covered Total %
statement 14 22 63.6
branch 2 6 33.3
condition 4 6 66.6
subroutine 6 7 85.7
pod 2 6 33.3
total 28 47 59.5


line stmt bran cond sub pod time code
1             package HTTP::OAI::PartialList;
2              
3             @ISA = qw( HTTP::OAI::Verb );
4              
5 11     11   74 use strict;
  11         23  
  11         3680  
6              
7             our $VERSION = '4.11';
8              
9 2     2 0 16 sub resumptionToken { shift->_elem('resumptionToken',@_) }
10              
11 24     24 0 247 sub item { shift->_multi('item',@_) }
12              
13             sub next
14             {
15 4     4 0 53 my( $self ) = @_;
16              
17 4         8 return shift @{$self->{item}};
  4         111  
18             }
19              
20             sub generate_body
21             {
22 0     0 0 0 my( $self, $driver ) = @_;
23              
24 0         0 for($self->item)
25             {
26 0         0 $_->generate( $driver );
27             }
28 0 0       0 if(my $token = $self->resumptionToken)
29             {
30 0         0 $token->generate( $driver );
31             }
32             }
33              
34             sub start_element
35             {
36 226     226 1 410 my ($self, $hash, $r) = @_;
37              
38 226 50 66     539 if( $hash->{Depth} == 3 && $hash->{LocalName} eq "resumptionToken" )
39             {
40 0         0 $self->set_handler(HTTP::OAI::ResumptionToken->new);
41             }
42              
43 226         555 $self->SUPER::start_element( $hash, $r );
44             }
45              
46             sub end_element
47             {
48 226     226 1 384 my ($self, $hash, $r) = @_;
49              
50 226         599 $self->SUPER::end_element( $hash, $r );
51              
52 226 50 66     919 if( $hash->{Depth} == 3 && $hash->{LocalName} eq "resumptionToken" )
53             {
54 0           $self->resumptionToken( $self->get_handler );
55 0           $self->set_handler( undef );
56             }
57             }
58              
59             1;