Make cleanup of encodings, moving webpac closer to having
[webpac2] / t / 2-input-excel.t
1 #!/usr/bin/perl -w
2
3 use strict;
4 use blib;
5
6 use Test::More tests => 49;
7
8 BEGIN {
9 use_ok( 'WebPAC::Test' );
10 use_ok( 'WebPAC::Input' );
11 }
12
13 my $module = 'WebPAC::Input::Excel';
14 diag "testing with $module";
15
16 ok(my $input = new WebPAC::Input(
17         module => $module,
18         no_progress_bar => 1,
19         %LOG,
20 ), "new");
21
22 our ($db,$size);
23
24 sub open_xls {
25         my $args = shift;
26
27         $args->{path} = "$abs_path/data/" . $args->{path} || die "no path?";
28         ok(my $db = $input->open( %$args ), "open " . dump( $args ));
29         ok($size = $input->size, "size $size");
30         return $db;
31 }
32
33 open_xls({ path => 'excel_95.xls' });
34
35 foreach my $mfn ( 1 ... $size ) {
36         my $rec = $input->fetch;
37         if ($mfn <= 10 || $mfn == 20) {
38                 ok($rec, "fetch $mfn");
39         } else {
40                 ok(! $rec, "empty $mfn");
41         }
42
43         cmp_ok($input->pos, '==', $mfn, "pos $mfn");
44
45         diag "rec: ", dump($rec), "\n" if $debug;
46 }
47
48 open_xls({ path => 'stara-signatura.xls', input_encoding => 'utf-16' });
49 ok( $input->seek( 790 ), 'seek 790');
50 ok( my $rec = $input->fetch, 'fetch' );
51 diag dump( $rec );