r1399@llin: dpavlin | 2007-10-31 11:19:39 +0100
[webpac2] / t / 2-input-gutenberg.t
1 #!/usr/bin/perl -w
2
3 use Test::More tests => 300;
4 use Test::Exception;
5 use Cwd qw/abs_path/;
6 use blib;
7 use strict;
8
9 use Data::Dump qw/dump/;
10
11 my $debug = shift @ARGV;
12
13 BEGIN {
14 use_ok( 'WebPAC::Input' );
15 }
16
17 ok(my $abs_path = abs_path($0), "abs_path");
18 $abs_path =~ s#/[^/]*$#/#;
19
20 my $module = 'WebPAC::Input::Gutenberg';
21 diag "testing with $module", $debug ? ' with debug' : '';
22
23 ok(my $input = new WebPAC::Input(
24         module => $module,
25         no_log => $debug ? 0 : 1,
26         no_progress_bar => 1,
27         debug => $debug,
28 ), "new");
29
30 ok(my $db = $input->open(
31         path => "$abs_path/data/gutenberg-small.rdf"
32 ), "open");
33 ok(my $size = $input->size, "size");
34
35 diag "size: $size" if ($debug);
36
37 ok(defined($input->{ll_db}->{_rows}), 'have ll_db->rows');
38
39 foreach my $mfn ( 1 ... $size ) {
40
41         ok(defined($input->{ll_db}->{_rows}->{$mfn}), "have ll_db->_rows->$mfn");
42
43         diag "row: ", dump( $input->{ll_db}->{_rows}->{$mfn} ) if ($debug);
44
45         my $rec = $input->fetch;
46
47         ok($rec, "fetch $mfn");
48
49         cmp_ok($input->pos, '==', $mfn, "pos $mfn");
50
51         diag "rec: ", dump($rec), "\n" if ($debug);
52 }
53