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   71 use strict;
  11         25  
  11         3810  
6              
7             our $VERSION = '4.13';
8              
9 2     2 0 11 sub resumptionToken { shift->_elem('resumptionToken',@_) }
10              
11 24     24 0 212 sub item { shift->_multi('item',@_) }
12              
13             sub next
14             {
15 4     4 0 69 my( $self ) = @_;
16              
17 4         6 return shift @{$self->{item}};
  4         75  
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 379 my ($self, $hash, $r) = @_;
37              
38 226 50 66     544 if( $hash->{Depth} == 3 && $hash->{LocalName} eq "resumptionToken" )
39             {
40 0         0 $self->set_handler(HTTP::OAI::ResumptionToken->new);
41             }
42              
43 226         521 $self->SUPER::start_element( $hash, $r );
44             }
45              
46             sub end_element
47             {
48 226     226 1 365 my ($self, $hash, $r) = @_;
49              
50 226         602 $self->SUPER::end_element( $hash, $r );
51              
52 226 50 66     902 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;