1 |
#!/usr/bin/perl -w |
2 |
|
3 |
use Test::More tests => 1179; |
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#/[^/]*$#/#; #fix-vim |
19 |
|
20 |
my $module = 'WebPAC::Input::DBF'; |
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/cas2000.dbf", |
32 |
input_config => { |
33 |
mapping_path => "$abs_path/conf/input/dbf/cas2000.yml", |
34 |
}, |
35 |
), "open"); |
36 |
ok(my $size = $input->size, "size"); |
37 |
|
38 |
diag "size: $size" if ($debug); |
39 |
|
40 |
ok(defined($input->{ll_db}->{_rows}), 'have ll_db->rows'); |
41 |
|
42 |
foreach my $mfn ( 1 ... $size ) { |
43 |
|
44 |
ok(defined($input->{ll_db}->{_rows}->{$mfn}), "have ll_db->_rows->$mfn"); |
45 |
|
46 |
diag "row: ", dump( $input->{ll_db}->{_rows}->{$mfn} ) if ($debug); |
47 |
|
48 |
my $rec = $input->fetch; |
49 |
|
50 |
ok($rec, "fetch $mfn"); |
51 |
|
52 |
cmp_ok($input->pos, '==', $mfn, "pos $mfn"); |
53 |
|
54 |
diag "rec: ", dump($rec), "\n" if ($debug); |
55 |
} |
56 |
|