File: 004_marc-hash_filter.t

package info (click to toggle)
libmarc-fast-perl 0.12-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 164 kB
  • sloc: perl: 327; makefile: 2
file content (46 lines) | stat: -rwxr-xr-x 985 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/usr/bin/perl -w

use strict;
use blib;

use Test::More tests => 9;
use Data::Dump qw/dump/;

BEGIN {
	use_ok( 'MARC::Fast' );
	use_ok( 'Encode' );
}

my $debug = shift @ARGV;

my $marc_file = 't/utf8.marc';

ok(my $marc = MARC::Fast->new(
	marcdb => $marc_file,
	hash_filter => sub {
		my ($l, $tag) = @_;
		$l = Encode::decode( 'utf-8', $l );
		$l =~ s/knjiga/briga/;
		return $l;
	},
), "new");

cmp_ok($marc->count, '==', 1, 'count' );

ok(my $rec = $marc->fetch(1), "fetch 1");
diag dump $rec if $debug;

ok(my $hash = $marc->to_hash(1), "to_hash 1");
diag dump $hash if $debug;

cmp_ok( $hash->{260}->[0]->{'b'}, 'eq', "\x{160}kolska briga,", 'hash_filter from new' );

ok($hash = $marc->to_hash(1, hash_filter => sub {
		my ($l, $tag) = @_;
		$l = Encode::decode( 'utf-8', $l );
		$l =~ s/knjiga/zabava/;
		return $l;
}), "to_hash 1 with hash_filter");
diag dump $hash if $debug;

cmp_ok( $hash->{260}->[0]->{'b'}, 'eq', "\x{160}kolska zabava,", 'hash_filter from to_hash' );