use utf-8 encoding
[webpac2] / t / 2-input-csv.t
1 #!/usr/bin/perl -w
2
3 use strict;
4 use lib 'lib';
5
6 use Test::More tests => 63;
7
8 BEGIN {
9 use_ok( 'WebPAC::Test' );
10 use_ok( 'WebPAC::Input' );
11 use_ok( 'Encode' );
12 use_ok( 'Devel::Peek' );
13 }
14
15 my $module = 'WebPAC::Input::CSV';
16 diag "testing with $module";
17
18 ok(my $input = new WebPAC::Input(
19         module => $module,
20         no_progress_bar => 1,
21         %LOG
22 ), "new");
23
24 ok(my $db = $input->open(
25         path => "$abs_path/data/records-utf8.csv"
26 ), "open");
27 ok(my $size = $input->size, "size");
28 cmp_ok( $size, '==', 11, 'size ok' );
29
30 foreach my $mfn ( 1 ... $size ) {
31         my $rec = $input->fetch;
32         ok($rec, "fetch $mfn");
33         cmp_ok($rec->{'000'}->[0], '==', $mfn, 'has mfn');
34         cmp_ok($input->pos, '==', $mfn, "pos $mfn");
35
36         ok( my $txt = $rec->{'E'}, 'E' );
37         diag Dump( $txt ) if $debug;
38         ok( Encode::is_utf8( $txt, 1 ), 'utf8' );
39         diag "rec: ", dump($rec), "\n" if $debug;
40 }
41