1 |
dpavlin |
47 |
#!/usr/bin/perl -w |
2 |
|
|
|
3 |
|
|
use strict; |
4 |
|
|
use blib; |
5 |
|
|
|
6 |
|
|
use Test::More tests => 9; |
7 |
|
|
use Data::Dump qw/dump/; |
8 |
|
|
|
9 |
|
|
BEGIN { |
10 |
|
|
use_ok( 'MARC::Fast' ); |
11 |
|
|
use_ok( 'Encode' ); |
12 |
|
|
} |
13 |
|
|
|
14 |
|
|
my $debug = shift @ARGV; |
15 |
|
|
|
16 |
|
|
my $marc_file = 't/utf8.marc'; |
17 |
|
|
|
18 |
|
|
ok(my $marc = MARC::Fast->new( |
19 |
|
|
marcdb => $marc_file, |
20 |
|
|
hash_filter => sub { |
21 |
|
|
my ($l, $tag) = @_; |
22 |
|
|
$l = Encode::decode( 'utf-8', $l ); |
23 |
|
|
$l =~ s/knjiga/briga/; |
24 |
|
|
return $l; |
25 |
|
|
}, |
26 |
|
|
), "new"); |
27 |
|
|
|
28 |
|
|
cmp_ok($marc->count, '==', 1, 'count' ); |
29 |
|
|
|
30 |
|
|
ok(my $rec = $marc->fetch(1), "fetch 1"); |
31 |
|
|
diag dump $rec if $debug; |
32 |
|
|
|
33 |
|
|
ok(my $hash = $marc->to_hash(1), "to_hash 1"); |
34 |
|
|
diag dump $hash if $debug; |
35 |
|
|
|
36 |
|
|
cmp_ok( $hash->{260}->[0]->{'b'}, 'eq', "\x{160}kolska briga,", 'hash_filter from new' ); |
37 |
|
|
|
38 |
|
|
ok($hash = $marc->to_hash(1, hash_filter => sub { |
39 |
|
|
my ($l, $tag) = @_; |
40 |
|
|
$l = Encode::decode( 'utf-8', $l ); |
41 |
|
|
$l =~ s/knjiga/zabava/; |
42 |
|
|
diag $tag, $l; |
43 |
|
|
return $l; |
44 |
|
|
}), "to_hash 1 with hash_filter"); |
45 |
|
|
diag dump $hash if $debug; |
46 |
|
|
|
47 |
|
|
cmp_ok( $hash->{260}->[0]->{'b'}, 'eq', "\x{160}kolska zabava,", 'hash_filter from to_hash' ); |