1 |
#!/usr/bin/perl -w |
#!/usr/bin/perl -w |
2 |
|
|
3 |
use Test::More tests => 118; |
use Test::More tests => 123; |
4 |
use Test::Exception; |
use Test::Exception; |
5 |
use Cwd qw/abs_path/; |
use Cwd qw/abs_path/; |
6 |
use blib; |
use blib; |
18 |
my $no_log = $debug ? 0 : 1; |
my $no_log = $debug ? 0 : 1; |
19 |
|
|
20 |
ok(my $abs_path = abs_path($0), "abs_path"); |
ok(my $abs_path = abs_path($0), "abs_path"); |
21 |
$abs_path =~ s#/[^/]*$#/#; |
$abs_path =~ s#/[^/]*$#/#; #vim |
22 |
|
|
23 |
my $module = 'WebPAC::Input::ISIS'; |
my $module = 'WebPAC::Input::ISIS'; |
24 |
diag "testing with $module"; |
diag "testing with $module"; |
25 |
|
|
26 |
throws_ok { my $input = new WebPAC::Input( ) } qr/module/, "need module"; |
throws_ok { my $input = new WebPAC::Input( no_log => $no_log ) } qr/module/, "need module"; |
27 |
ok(my $input = new WebPAC::Input( module => $module, no_log => $no_log, no_progress_bar => 1, stats => 1 ), "new $module"); |
ok(my $input = new WebPAC::Input( module => $module, no_log => $no_log, no_progress_bar => 1, stats => 1 ), "new $module"); |
28 |
ok(my $input_lm = new WebPAC::Input( module => $module, no_log => $no_log, no_progress_bar => 1 ), "new $module"); |
ok(my $input_lm = new WebPAC::Input( module => $module, no_log => $no_log, no_progress_bar => 1 ), "new $module"); |
29 |
|
|
79 |
cmp_ok($input->pos, '==', $mfn, "pos $mfn"); |
cmp_ok($input->pos, '==', $mfn, "pos $mfn"); |
80 |
push @db, $rec; |
push @db, $rec; |
81 |
ok(my $dump = $input->dump_ascii, "dump_ascii $mfn"); |
ok(my $dump = $input->dump_ascii, "dump_ascii $mfn"); |
82 |
|
# XXX test count will help us keep this test in-line :-) |
83 |
|
ok($rec->{leader}, "leader $mfn") if $rec->{leader}; |
84 |
diag $dump if ($debug); |
diag $dump if ($debug); |
85 |
} |
} |
86 |
|
|
107 |
test_start_limit($input, 3, $size, $size - 2); |
test_start_limit($input, 3, $size, $size - 2); |
108 |
test_start_limit($input, 1, $size + 2, $size); |
test_start_limit($input, 1, $size + 2, $size); |
109 |
|
|
110 |
ok(my $s = $input->stats, 'stats'); |
ok(my $s = $input->stats, "$module stats"); |
111 |
diag "stats:\n$s" if ($debug); |
diag "stats:\n$s" if ($debug); |
112 |
|
|
113 |
$module = 'WebPAC::Input::MARC'; |
$module = 'WebPAC::Input::MARC'; |
114 |
diag "testing with $module"; |
diag "testing with $module"; |
115 |
|
|
116 |
ok($input = new WebPAC::Input( module => $module, no_log => $no_log, no_progress_bar => 1 ), "new $module"); |
ok($input = new WebPAC::Input( module => $module, no_log => $no_log, no_progress_bar => 1, stats => 1 ), "new $module"); |
117 |
|
|
118 |
ok($input->open( path => "$abs_path/data/marc.iso" ), "open marc.iso"); |
ok($input->open( path => "$abs_path/data/marc.iso" ), "open marc.iso"); |
119 |
|
|
121 |
|
|
122 |
test_fetch($input, $input->size); |
test_fetch($input, $input->size); |
123 |
|
|
124 |
|
ok(my $s = $input->stats, "$module stats"); |
125 |
|
|
126 |
|
diag "stats:\n$s" if ($debug); |
127 |
# test modify_record |
# test modify_record |
128 |
$module = 'WebPAC::Input::Test'; |
$module = 'WebPAC::Input::Test'; |
129 |
ok($input = new WebPAC::Input( module => $module, no_log => $no_log, no_progress_bar => 1, debug => $debug ), "new $module"); |
ok($input = new WebPAC::Input( module => $module, no_log => $no_log, no_progress_bar => 1, debug => $debug ), "new $module"); |