more tweaks for subfield re-ordering
[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                 'a' => 'a-8-1',
47                 'v' => 'v-8-1',
48         },{
49                 'v' => 'v-9-1',
50         }],
51 };
52
53 ok( _set_ds( $rec ), '_set_ds' );
54
55 ok( marc_template(
56         from => 225, to => 440,
57         subfields_rename => [
58                 'a' => 'a',
59                 'x' => 'x',
60                 'v' => 'v',
61                 'h' => 'n',
62                 'i' => 'p',
63                 'w' => 'v',
64         ],
65         isis_template => [
66                 'a ; |v. |i',
67                 'a. |i ; |w',
68         ],
69         marc_template => [
70                 'a',
71                 'a ;|v',
72                 'a.|p',
73                 'a, |x ; |v. |n, |p ; |v',
74                 'a ; |v. |p ; |v',
75                 'v',
76         ],
77 ), 'marc_template' );
78
79 ok(my $marc = WebPAC::Normalize::_get_marc_fields(), "_get_marc_fields");
80 diag dump( $marc ) if $debug;
81
82 is_deeply( $marc,
83         [
84                 [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", ],
85                 [440, " ", " ", "a", "a-2-1", "v", "v-2-1", "p", "i-2-1"],
86                 [440, " ", " ", "a", "a-3-1", "v", "v-3-1", "p", "i-3-1"],
87                 [440, " ", " ", "a", "a-4-1", "v", "v-4-1", "p", "i-4-1", "v", "w-4-1"],
88                 [440, " ", " ", "a", "a-5-1", "v", "v-5-1", "p", "i-5-1"],
89                 [440, " ", " ", "a", "a-6-1", "p", "i-6-1", "v", "w-6-1"],
90                 [440, " ", " ", "a", "a-7-1"],
91         ],
92 'is_deeply');