| 
      
            Lines 19-25
          
      
      
        Link Here
      
     | 
  
        
          | 19 | 
           | 
          19 | 
           | 
        
        
          | 20 | 
          use Modern::Perl;  | 
          20 | 
          use Modern::Perl;  | 
        
        
          | 21 | 
           | 
          21 | 
           | 
        
          
            
              | 22 | 
              use Test::More tests => 27;  | 
              22 | 
              use Test::More tests => 28;  | 
            
        
          | 23 | 
          use DateTime;  | 
          23 | 
          use DateTime;  | 
        
        
          | 24 | 
          use Test::MockModule;  | 
          24 | 
          use Test::MockModule;  | 
        
        
          | 25 | 
          use Test::Warn;  | 
          25 | 
          use Test::Warn;  | 
        
  
    | 
      
            Lines 37-42
          BEGIN {
      
      
        Link Here
      
     | 
  
        
          | 37 | 
              use_ok('Koha::OAI::Server::Description'); | 
          37 | 
              use_ok('Koha::OAI::Server::Description'); | 
        
        
          | 38 | 
              use_ok('Koha::OAI::Server::GetRecord'); | 
          38 | 
              use_ok('Koha::OAI::Server::GetRecord'); | 
        
        
          | 39 | 
              use_ok('Koha::OAI::Server::Identify'); | 
          39 | 
              use_ok('Koha::OAI::Server::Identify'); | 
        
            
               | 
               | 
              40 | 
                  use_ok('Koha::OAI::Server::ListBase'); | 
            
        
          | 40 | 
              use_ok('Koha::OAI::Server::ListIdentifiers'); | 
          41 | 
              use_ok('Koha::OAI::Server::ListIdentifiers'); | 
        
        
          | 41 | 
              use_ok('Koha::OAI::Server::ListMetadataFormats'); | 
          42 | 
              use_ok('Koha::OAI::Server::ListMetadataFormats'); | 
        
        
          | 42 | 
              use_ok('Koha::OAI::Server::ListRecords'); | 
          43 | 
              use_ok('Koha::OAI::Server::ListRecords'); | 
        
  
    | 
      
            Lines 56-78
          $schema->storage->txn_begin;
      
      
        Link Here
      
     | 
  
        
          | 56 | 
          my $dbh = C4::Context->dbh;  | 
          57 | 
          my $dbh = C4::Context->dbh;  | 
        
        
          | 57 | 
           | 
          58 | 
           | 
        
        
          | 58 | 
          $dbh->do('SET FOREIGN_KEY_CHECKS = 0'); | 
          59 | 
          $dbh->do('SET FOREIGN_KEY_CHECKS = 0'); | 
        
            
               | 
               | 
              60 | 
              $dbh->do("SET time_zone='+00:00'"); | 
            
        
          | 59 | 
          $dbh->do('TRUNCATE biblio'); | 
          61 | 
          $dbh->do('TRUNCATE biblio'); | 
        
        
          | 60 | 
          $dbh->do('TRUNCATE biblioitems'); | 
          62 | 
          $dbh->do('TRUNCATE biblioitems'); | 
        
        
          | 61 | 
          $dbh->do('TRUNCATE issues'); | 
          63 | 
          $dbh->do('TRUNCATE issues'); | 
        
        
          | 62 | 
           | 
          64 | 
           | 
        
          
            
              | 63 | 
              our $tz = DateTime::TimeZone->new( name => 'local' );  | 
              65 | 
              my $date_added = DateTime->now() . 'Z';  | 
            
            
              | 64 | 
              my $date_added = DateTime->now(time_zone =>$tz) . 'Z';  | 
               | 
               | 
            
        
          | 65 | 
          my $date_to = substr($date_added, 0, 10) . 'T23:59:59Z';  | 
          66 | 
          my $date_to = substr($date_added, 0, 10) . 'T23:59:59Z';  | 
        
        
          | 66 | 
          my (@header, @marcxml, @oaidc);  | 
          67 | 
          my (@header, @marcxml, @oaidc);  | 
        
            
               | 
               | 
              68 | 
              my $sth = $dbh->prepare('SELECT timestamp FROM biblioitems WHERE biblionumber=?'); | 
            
        
          | 67 | 
           | 
          69 | 
           | 
        
        
          | 68 | 
          # Add 10 biblio records  | 
          70 | 
          # Add 10 biblio records  | 
        
        
          | 69 | 
          foreach( 1..10 ) { | 
          71 | 
          foreach( 1..10 ) { | 
        
        
          | 70 | 
              my $record = MARC::Record->new();  | 
          72 | 
              my $record = MARC::Record->new();  | 
        
        
          | 71 | 
              $record->append_fields( MARC::Field->new('245', '', '', 'a' => "Title $_" ) ); | 
          73 | 
              $record->append_fields( MARC::Field->new('245', '', '', 'a' => "Title $_" ) ); | 
        
        
          | 72 | 
              my ($biblionumber) = AddBiblio($record, '');  | 
          74 | 
              my ($biblionumber) = AddBiblio($record, '');  | 
        
            
               | 
               | 
              75 | 
                  $sth->execute($biblionumber);  | 
            
            
              | 76 | 
                  my $timestamp = $sth->fetchrow_array . 'Z';  | 
            
            
              | 77 | 
                  $timestamp =~ s/ /T/;  | 
            
        
          | 73 | 
              $record = GetMarcBiblio($biblionumber);  | 
          78 | 
              $record = GetMarcBiblio($biblionumber);  | 
        
        
          | 74 | 
              $record = XMLin($record->as_xml_record);  | 
          79 | 
              $record = XMLin($record->as_xml_record);  | 
        
          
            
              | 75 | 
                  $header[$biblionumber] = { datestamp => $date_added, identifier => "TEST:$biblionumber" }; | 
              80 | 
                  $header[$biblionumber] = { datestamp => $timestamp, identifier => "TEST:$biblionumber" }; | 
            
        
          | 76 | 
              delete $record->{$_} for (('xmlns','xmlns:xsi','xsi:schemaLocation')); | 
          81 | 
              delete $record->{$_} for (('xmlns','xmlns:xsi','xsi:schemaLocation')); | 
        
        
          | 77 | 
              $oaidc[$biblionumber] = { | 
          82 | 
              $oaidc[$biblionumber] = { | 
        
        
          | 78 | 
                  header => $header[$biblionumber],  | 
          83 | 
                  header => $header[$biblionumber],  | 
        
  
    | 
      
            Lines 107-112
          foreach( 1..10 ) {
      
      
        Link Here
      
     | 
  
        
          | 107 | 
                      },  | 
          112 | 
                      },  | 
        
        
          | 108 | 
                  },  | 
          113 | 
                  },  | 
        
        
          | 109 | 
              };  | 
          114 | 
              };  | 
        
            
               | 
               | 
              115 | 
                  sleep 2; # FIXME Why do we need this sleep?  | 
            
        
          | 110 | 
          }  | 
          116 | 
          }  | 
        
        
          | 111 | 
           | 
          117 | 
           | 
        
        
          | 112 | 
          my $syspref = { | 
          118 | 
          my $syspref = { | 
        
  
    | 
      
            Lines 163-174
          test_query('ListMetadataFormats', {verb => 'ListMetadataFormats'}, {
      
      
        Link Here
      
     | 
  
        
          | 163 | 
                      },  | 
          169 | 
                      },  | 
        
        
          | 164 | 
                      { | 
          170 | 
                      { | 
        
        
          | 165 | 
                          metadataNamespace => 'http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim',  | 
          171 | 
                          metadataNamespace => 'http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim',  | 
        
            
               | 
               | 
              172 | 
                              metadataPrefix => 'marc21',  | 
            
            
              | 173 | 
                              schema => 'http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd',  | 
            
            
              | 174 | 
                          },  | 
            
            
              | 175 | 
                          { | 
            
            
              | 176 | 
                              metadataNamespace => 'http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim',  | 
            
        
          | 166 | 
                          metadataPrefix => 'marcxml',  | 
          177 | 
                          metadataPrefix => 'marcxml',  | 
        
        
          | 167 | 
                          schema => 'http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd',  | 
          178 | 
                          schema => 'http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd',  | 
        
        
          | 168 | 
                      },  | 
          179 | 
                      },  | 
        
        
          | 169 | 
                  ],  | 
          180 | 
                  ],  | 
        
        
          | 170 | 
              },  | 
          181 | 
              },  | 
        
          
            
              | 171 | 
              } );  | 
              182 | 
              });  | 
            
        
          | 172 | 
           | 
          183 | 
           | 
        
        
          | 173 | 
          test_query('ListIdentifiers without metadataPrefix', {verb => 'ListIdentifiers'}, { | 
          184 | 
          test_query('ListIdentifiers without metadataPrefix', {verb => 'ListIdentifiers'}, { | 
        
        
          | 174 | 
              error => { | 
          185 | 
              error => { | 
        
  
    | 
      
            Lines 182-188
          test_query('ListIdentifiers', {verb => 'ListIdentifiers', metadataPrefix => 'mar
      
      
        Link Here
      
     | 
  
        
          | 182 | 
              ListIdentifiers => { | 
          193 | 
              ListIdentifiers => { | 
        
        
          | 183 | 
                  header => [ @header[1..3] ],  | 
          194 | 
                  header => [ @header[1..3] ],  | 
        
        
          | 184 | 
                  resumptionToken => { | 
          195 | 
                  resumptionToken => { | 
        
          
            
              | 185 | 
                          content => "marcxml/3/1970-01-01T00:00:00Z/$date_to/",  | 
              196 | 
                          content => "marcxml/3/1970-01-01T00:00:00Z/$date_to//0",  | 
            
        
          | 186 | 
                      cursor  => 3,  | 
          197 | 
                      cursor  => 3,  | 
        
        
          | 187 | 
                  },  | 
          198 | 
                  },  | 
        
        
          | 188 | 
              },  | 
          199 | 
              },  | 
        
  
    | 
      
            Lines 192-198
          test_query('ListIdentifiers', {verb => 'ListIdentifiers', metadataPrefix => 'mar
      
      
        Link Here
      
     | 
  
        
          | 192 | 
              ListIdentifiers => { | 
          203 | 
              ListIdentifiers => { | 
        
        
          | 193 | 
                  header => [ @header[1..3] ],  | 
          204 | 
                  header => [ @header[1..3] ],  | 
        
        
          | 194 | 
                  resumptionToken => { | 
          205 | 
                  resumptionToken => { | 
        
          
            
              | 195 | 
                          content => "marcxml/3/1970-01-01T00:00:00Z/$date_to/",  | 
              206 | 
                          content => "marcxml/3/1970-01-01T00:00:00Z/$date_to//0",  | 
            
        
          | 196 | 
                      cursor  => 3,  | 
          207 | 
                      cursor  => 3,  | 
        
        
          | 197 | 
                  },  | 
          208 | 
                  },  | 
        
        
          | 198 | 
              },  | 
          209 | 
              },  | 
        
  
    | 
      
            Lines 200-211
          test_query('ListIdentifiers', {verb => 'ListIdentifiers', metadataPrefix => 'mar
      
      
        Link Here
      
     | 
  
        
          | 200 | 
           | 
          211 | 
           | 
        
        
          | 201 | 
          test_query(  | 
          212 | 
          test_query(  | 
        
        
          | 202 | 
              'ListIdentifiers with resumptionToken 1',  | 
          213 | 
              'ListIdentifiers with resumptionToken 1',  | 
        
          
            
              | 203 | 
                  { verb => 'ListIdentifiers', resumptionToken => "marcxml/3/1970-01-01T00:00:00Z/$date_to/" }, | 
              214 | 
                  { verb => 'ListIdentifiers', resumptionToken => "marcxml/3/1970-01-01T00:00:00Z/$date_to//0" }, | 
            
        
          | 204 | 
              { | 
          215 | 
              { | 
        
        
          | 205 | 
                  ListIdentifiers => { | 
          216 | 
                  ListIdentifiers => { | 
        
        
          | 206 | 
                      header => [ @header[4..6] ],  | 
          217 | 
                      header => [ @header[4..6] ],  | 
        
        
          | 207 | 
                      resumptionToken => { | 
          218 | 
                      resumptionToken => { | 
        
          
            
              | 208 | 
                            content => "marcxml/6/1970-01-01T00:00:00Z/$date_to/",  | 
              219 | 
                            content => "marcxml/6/1970-01-01T00:00:00Z/$date_to//0",  | 
            
        
          | 209 | 
                        cursor  => 6,  | 
          220 | 
                        cursor  => 6,  | 
        
        
          | 210 | 
                      },  | 
          221 | 
                      },  | 
        
        
          | 211 | 
                    },  | 
          222 | 
                    },  | 
        
  
    | 
      
            Lines 215-226
          test_query(
      
      
        Link Here
      
     | 
  
        
          | 215 | 
           | 
          226 | 
           | 
        
        
          | 216 | 
          test_query(  | 
          227 | 
          test_query(  | 
        
        
          | 217 | 
              'ListIdentifiers with resumptionToken 2',  | 
          228 | 
              'ListIdentifiers with resumptionToken 2',  | 
        
          
            
              | 218 | 
                  { verb => 'ListIdentifiers', resumptionToken => "marcxml/6/1970-01-01T00:00:00Z/$date_to/" }, | 
              229 | 
                  { verb => 'ListIdentifiers', resumptionToken => "marcxml/6/1970-01-01T00:00:00Z/$date_to//0" }, | 
            
        
          | 219 | 
              { | 
          230 | 
              { | 
        
        
          | 220 | 
                  ListIdentifiers => { | 
          231 | 
                  ListIdentifiers => { | 
        
        
          | 221 | 
                      header => [ @header[7..9] ],  | 
          232 | 
                      header => [ @header[7..9] ],  | 
        
        
          | 222 | 
                      resumptionToken => { | 
          233 | 
                      resumptionToken => { | 
        
          
            
              | 223 | 
                            content => "marcxml/9/1970-01-01T00:00:00Z/$date_to/",  | 
              234 | 
                            content => "marcxml/9/1970-01-01T00:00:00Z/$date_to//0",  | 
            
        
          | 224 | 
                        cursor  => 9,  | 
          235 | 
                        cursor  => 9,  | 
        
        
          | 225 | 
                      },  | 
          236 | 
                      },  | 
        
        
          | 226 | 
                    },  | 
          237 | 
                    },  | 
        
  
    | 
      
            Lines 230-236
          test_query(
      
      
        Link Here
      
     | 
  
        
          | 230 | 
           | 
          241 | 
           | 
        
        
          | 231 | 
          test_query(  | 
          242 | 
          test_query(  | 
        
        
          | 232 | 
              'ListIdentifiers with resumptionToken 3, response without resumption',  | 
          243 | 
              'ListIdentifiers with resumptionToken 3, response without resumption',  | 
        
          
            
              | 233 | 
                  { verb => 'ListIdentifiers', resumptionToken => "marcxml/9/1970-01-01T00:00:00Z/$date_to/" }, | 
              244 | 
                  { verb => 'ListIdentifiers', resumptionToken => "marcxml/9/1970-01-01T00:00:00Z/$date_to//0" }, | 
            
        
          | 234 | 
              { | 
          245 | 
              { | 
        
        
          | 235 | 
                  ListIdentifiers => { | 
          246 | 
                  ListIdentifiers => { | 
        
        
          | 236 | 
                      header => $header[10],  | 
          247 | 
                      header => $header[10],  | 
        
  
    | 
      
            Lines 250-256
          test_query('ListRecords marcxml', {verb => 'ListRecords', metadataPrefix => 'mar
      
      
        Link Here
      
     | 
  
        
          | 250 | 
              ListRecords => { | 
          261 | 
              ListRecords => { | 
        
        
          | 251 | 
                  record => [ @marcxml[1..3] ],  | 
          262 | 
                  record => [ @marcxml[1..3] ],  | 
        
        
          | 252 | 
                  resumptionToken => { | 
          263 | 
                  resumptionToken => { | 
        
          
            
              | 253 | 
                        content => "marcxml/3/1970-01-01T00:00:00Z/$date_to/",  | 
              264 | 
                        content => "marcxml/3/1970-01-01T00:00:00Z/$date_to//0",  | 
            
        
          | 254 | 
                    cursor  => 3,  | 
          265 | 
                    cursor  => 3,  | 
        
        
          | 255 | 
                  },  | 
          266 | 
                  },  | 
        
        
          | 256 | 
              },  | 
          267 | 
              },  | 
        
  
    | 
      
            Lines 258-268
          test_query('ListRecords marcxml', {verb => 'ListRecords', metadataPrefix => 'mar
      
      
        Link Here
      
     | 
  
        
          | 258 | 
           | 
          269 | 
           | 
        
        
          | 259 | 
          test_query(  | 
          270 | 
          test_query(  | 
        
        
          | 260 | 
              'ListRecords marcxml with resumptionToken 1',  | 
          271 | 
              'ListRecords marcxml with resumptionToken 1',  | 
        
          
            
              | 261 | 
                  { verb => 'ListRecords', resumptionToken => "marcxml/3/1970-01-01T00:00:00Z/$date_to/" }, | 
              272 | 
                  { verb => 'ListRecords', resumptionToken => "marcxml/3/1970-01-01T00:00:00Z/$date_to//0" }, | 
            
        
          | 262 | 
              { ListRecords => { | 
          273 | 
              { ListRecords => { | 
        
        
          | 263 | 
                  record => [ @marcxml[4..6] ],  | 
          274 | 
                  record => [ @marcxml[4..6] ],  | 
        
        
          | 264 | 
                  resumptionToken => { | 
          275 | 
                  resumptionToken => { | 
        
          
            
              | 265 | 
                        content => "marcxml/6/1970-01-01T00:00:00Z/$date_to/",  | 
              276 | 
                        content => "marcxml/6/1970-01-01T00:00:00Z/$date_to//0",  | 
            
        
          | 266 | 
                    cursor  => 6,  | 
          277 | 
                    cursor  => 6,  | 
        
        
          | 267 | 
                  },  | 
          278 | 
                  },  | 
        
        
          | 268 | 
              },  | 
          279 | 
              },  | 
        
  
    | 
      
            Lines 270-280
          test_query(
      
      
        Link Here
      
     | 
  
        
          | 270 | 
           | 
          281 | 
           | 
        
        
          | 271 | 
          test_query(  | 
          282 | 
          test_query(  | 
        
        
          | 272 | 
              'ListRecords marcxml with resumptionToken 2',  | 
          283 | 
              'ListRecords marcxml with resumptionToken 2',  | 
        
          
            
              | 273 | 
                  { verb => 'ListRecords', resumptionToken => "marcxml/6/1970-01-01T00:00:00Z/$date_to/" }, | 
              284 | 
                  { verb => 'ListRecords', resumptionToken => "marcxml/6/1970-01-01T00:00:00Z/$date_to//0" }, | 
            
        
          | 274 | 
              { ListRecords => { | 
          285 | 
              { ListRecords => { | 
        
        
          | 275 | 
                  record => [ @marcxml[7..9] ],  | 
          286 | 
                  record => [ @marcxml[7..9] ],  | 
        
        
          | 276 | 
                  resumptionToken => { | 
          287 | 
                  resumptionToken => { | 
        
          
            
              | 277 | 
                        content => "marcxml/9/1970-01-01T00:00:00Z/$date_to/",  | 
              288 | 
                        content => "marcxml/9/1970-01-01T00:00:00Z/$date_to//0",  | 
            
        
          | 278 | 
                    cursor  => 9,  | 
          289 | 
                    cursor  => 9,  | 
        
        
          | 279 | 
                  },  | 
          290 | 
                  },  | 
        
        
          | 280 | 
              },  | 
          291 | 
              },  | 
        
  
    | 
      
            Lines 283-289
          test_query(
      
      
        Link Here
      
     | 
  
        
          | 283 | 
          # Last record, so no resumption token  | 
          294 | 
          # Last record, so no resumption token  | 
        
        
          | 284 | 
          test_query(  | 
          295 | 
          test_query(  | 
        
        
          | 285 | 
              'ListRecords marcxml with resumptionToken 3, response without resumption',  | 
          296 | 
              'ListRecords marcxml with resumptionToken 3, response without resumption',  | 
        
          
            
              | 286 | 
                  { verb => 'ListRecords', resumptionToken => "marcxml/9/1970-01-01T00:00:00Z/$date_to/" }, | 
              297 | 
                  { verb => 'ListRecords', resumptionToken => "marcxml/9/1970-01-01T00:00:00Z/$date_to//0" }, | 
            
        
          | 287 | 
              { ListRecords => { | 
          298 | 
              { ListRecords => { | 
        
        
          | 288 | 
                  record => $marcxml[10],  | 
          299 | 
                  record => $marcxml[10],  | 
        
        
          | 289 | 
              },  | 
          300 | 
              },  | 
        
  
    | 
      
            Lines 293-299
          test_query('ListRecords oai_dc', {verb => 'ListRecords', metadataPrefix => 'oai_
      
      
        Link Here
      
     | 
  
        
          | 293 | 
              ListRecords => { | 
          304 | 
              ListRecords => { | 
        
        
          | 294 | 
                  record => [ @oaidc[1..3] ],  | 
          305 | 
                  record => [ @oaidc[1..3] ],  | 
        
        
          | 295 | 
                  resumptionToken => { | 
          306 | 
                  resumptionToken => { | 
        
          
            
              | 296 | 
                        content => "oai_dc/3/1970-01-01T00:00:00Z/$date_to/",  | 
              307 | 
                        content => "oai_dc/3/1970-01-01T00:00:00Z/$date_to//0",  | 
            
        
          | 297 | 
                    cursor  => 3,  | 
          308 | 
                    cursor  => 3,  | 
        
        
          | 298 | 
                  },  | 
          309 | 
                  },  | 
        
        
          | 299 | 
              },  | 
          310 | 
              },  | 
        
  
    | 
      
            Lines 301-311
          test_query('ListRecords oai_dc', {verb => 'ListRecords', metadataPrefix => 'oai_
      
      
        Link Here
      
     | 
  
        
          | 301 | 
           | 
          312 | 
           | 
        
        
          | 302 | 
          test_query(  | 
          313 | 
          test_query(  | 
        
        
          | 303 | 
              'ListRecords oai_dc with resumptionToken 1',  | 
          314 | 
              'ListRecords oai_dc with resumptionToken 1',  | 
        
          
            
              | 304 | 
                  { verb => 'ListRecords', resumptionToken => "oai_dc/3/1970-01-01T00:00:00Z/$date_to/" }, | 
              315 | 
                  { verb => 'ListRecords', resumptionToken => "oai_dc/3/1970-01-01T00:00:00Z/$date_to//0" }, | 
            
        
          | 305 | 
              { ListRecords => { | 
          316 | 
              { ListRecords => { | 
        
        
          | 306 | 
                  record => [ @oaidc[4..6] ],  | 
          317 | 
                  record => [ @oaidc[4..6] ],  | 
        
        
          | 307 | 
                  resumptionToken => { | 
          318 | 
                  resumptionToken => { | 
        
          
            
              | 308 | 
                        content => "oai_dc/6/1970-01-01T00:00:00Z/$date_to/",  | 
              319 | 
                        content => "oai_dc/6/1970-01-01T00:00:00Z/$date_to//0",  | 
            
        
          | 309 | 
                    cursor  => 6,  | 
          320 | 
                    cursor  => 6,  | 
        
        
          | 310 | 
                  },  | 
          321 | 
                  },  | 
        
        
          | 311 | 
              },  | 
          322 | 
              },  | 
        
  
    | 
      
            Lines 313-323
          test_query(
      
      
        Link Here
      
     | 
  
        
          | 313 | 
           | 
          324 | 
           | 
        
        
          | 314 | 
          test_query(  | 
          325 | 
          test_query(  | 
        
        
          | 315 | 
              'ListRecords oai_dc with resumptionToken 2',  | 
          326 | 
              'ListRecords oai_dc with resumptionToken 2',  | 
        
          
            
              | 316 | 
                  { verb => 'ListRecords', resumptionToken => "oai_dc/6/1970-01-01T00:00:00Z/$date_to/" }, | 
              327 | 
                  { verb => 'ListRecords', resumptionToken => "oai_dc/6/1970-01-01T00:00:00Z/$date_to//0" }, | 
            
        
          | 317 | 
              { ListRecords => { | 
          328 | 
              { ListRecords => { | 
        
        
          | 318 | 
                  record => [ @oaidc[7..9] ],  | 
          329 | 
                  record => [ @oaidc[7..9] ],  | 
        
        
          | 319 | 
                  resumptionToken => { | 
          330 | 
                  resumptionToken => { | 
        
          
            
              | 320 | 
                        content => "oai_dc/9/1970-01-01T00:00:00Z/$date_to/",  | 
              331 | 
                        content => "oai_dc/9/1970-01-01T00:00:00Z/$date_to//0",  | 
            
        
          | 321 | 
                    cursor  => 9,  | 
          332 | 
                    cursor  => 9,  | 
        
        
          | 322 | 
                  },  | 
          333 | 
                  },  | 
        
        
          | 323 | 
              },  | 
          334 | 
              },  | 
        
  
    | 
      
            Lines 326-332
          test_query(
      
      
        Link Here
      
     | 
  
        
          | 326 | 
          # Last record, so no resumption token  | 
          337 | 
          # Last record, so no resumption token  | 
        
        
          | 327 | 
          test_query(  | 
          338 | 
          test_query(  | 
        
        
          | 328 | 
              'ListRecords oai_dc with resumptionToken 3, response without resumption',  | 
          339 | 
              'ListRecords oai_dc with resumptionToken 3, response without resumption',  | 
        
          
            
              | 329 | 
                  { verb => 'ListRecords', resumptionToken => "oai_dc/9/1970-01-01T00:00:00Z/$date_to/" }, | 
              340 | 
                  { verb => 'ListRecords', resumptionToken => "oai_dc/9/1970-01-01T00:00:00Z/$date_to//0" }, | 
            
        
          | 330 | 
              { ListRecords => { | 
          341 | 
              { ListRecords => { | 
        
        
          | 331 | 
                  record => $oaidc[10],  | 
          342 | 
                  record => $oaidc[10],  | 
        
        
          | 332 | 
              },  | 
          343 | 
              },  | 
        
            
              | 333 | 
              -   | 
               | 
               |