5d3b62e64682474b101a5e21c5525a2a09349c02
[webpac2] / t / 3-normalize-marc.t
1 #!/usr/bin/perl -w
2
3 use strict;
4 use blib;
5
6 use Test::More tests => 7;
7
8 BEGIN {
9         use_ok( 'WebPAC::Test' );
10         use_ok( 'WebPAC::Normalize' );
11         use_ok( 'WebPAC::Normalize::MARC' );
12 }
13
14 my $rec = {
15         '225' => [{
16                 'a' => 'a-1-1',
17                 'i' => 'i-1-1',
18                 'v' => 'v-1-1',
19                 'w' => 'w-1-1',
20                 'h' => 'h-1-1',
21                 'x' => 'x-1-1',
22         },{
23                 'a' => 'a-2-1',
24                 'v' => 'v-2-1',
25                 'i' => 'i-2-1',
26         },{
27                 'a' => 'a-3-1',
28                 'i' => 'i-3-1',
29                 'v' => 'v-3-1',
30         },{
31                 'a' => 'a-4-1',
32                 'v' => 'v-4-1',
33                 'i' => 'i-4-1',
34                 'w' => 'w-4-1',
35         },{
36                 'a' => 'a-5-1',
37                 'v' => 'v-5-1',
38                 'i' => 'i-5-1',
39         },{
40                 'a' => 'a-6-1',
41                 'i' => 'i-6-1',
42                 'w' => 'w-6-1',
43         },{
44                 'a' => 'a-7-1',
45         }],
46 };
47
48 ok( _set_ds( $rec ), '_set_ds' );
49
50 ok( marc_template(
51         from => 225, to => 440,
52         subfields_rename => [
53                 'a' => 'a',
54                 'x' => 'x',
55                 'v' => 'v',
56                 'h' => 'n',
57                 'i' => 'p',
58                 'w' => 'v',
59         ],
60         isis_template => [
61                 'a ; |v. |i',
62                 'a. |i ; |w',
63         ],
64         marc_template => [
65                 'a',
66                 'a, |x ; |v. |n, |p ; |v',
67                 'a ; |v. |p ; |v',
68         ],
69 ), 'marc_template' );
70
71 ok(my $marc = WebPAC::Normalize::_get_marc_fields(), "_get_marc_fields");
72 diag dump( $marc ) if $debug;
73
74 is_deeply( $marc,
75         [
76                 [440, " ", " ", "a", "a-1-1", "x", "x-1-1", "v", "v-1-1", "n", "h-1-1", "p", "i-1-1", "v", "w-1-1", ],
77                 [440, " ", " ", "a", "a-2-1", "v", "v-2-1", "p", "i-2-1"],
78                 [440, " ", " ", "a", "a-3-1", "v", "v-3-1", "p", "i-3-1"],
79                 [440, " ", " ", "a", "a-4-1", "v", "v-4-1", "p", "i-4-1", "v", "w-4-1"],
80                 [440, " ", " ", "a", "a-5-1", "v", "v-5-1", "p", "i-5-1"],
81                 [440, " ", " ", "a", "a-6-1", "p", "i-6-1", "v", "w-6-1"],
82                 [440, " ", " ", "a", "a-7-1"],
83         ],
84 'is_deeply');