3 |
use strict; |
use strict; |
4 |
use lib 'lib'; |
use lib 'lib'; |
5 |
|
|
6 |
use Test::More tests => 330; |
use Test::More tests => 331; |
7 |
|
|
8 |
BEGIN { |
BEGIN { |
9 |
use_ok( 'WebPAC::Test' ); |
use_ok( 'WebPAC::Test' ); |
138 |
|
|
139 |
ok(my $marc = WebPAC::Normalize::MARC::_get_marc_fields(), "_get_marc_fields"); |
ok(my $marc = WebPAC::Normalize::MARC::_get_marc_fields(), "_get_marc_fields"); |
140 |
# diag "rec = ",dump( $rec ); |
# diag "rec = ",dump( $rec ); |
141 |
# diag "marc = ",dump( $marc ); |
diag "marc = ",dump( $marc ); |
142 |
# diag "expect = ",dump( $marc ); |
diag "expect = ",dump( $expect ); |
143 |
|
|
144 |
is_deeply( $marc, $expect, 'marc_clone same' ); |
is_deeply( $marc, $expect, 'marc_clone same' ); |
145 |
|
diag "marc_leader = ",dump( marc_leader ); |
146 |
|
cmp_ok( WebPAC::Normalize::MARC::marc_leader()->{0}, 'eq', $rec->{leader}->[0], 'leader' ); |
147 |
|
|
148 |
} |
} |
149 |
|
|
150 |
my $rec = { |
$rec = { |
151 |
"000" => [2, 2], |
"000" => [2], |
152 |
"001" => ["ocm00734950 "], |
"001" => ["ocm00734950"], |
153 |
"003" => ["OCoLC"], |
"003" => ["OCoLC"], |
|
"005" => ["19830824185243.0"], |
|
|
"008" => ["731105s1962 nyua a 00000 eng "], |
|
|
"010" => [ |
|
|
{ a => " 62015770 ", i1 => " ", i2 => " ", subfields => ["a", 0] }, |
|
|
], |
|
154 |
"040" => [ |
"040" => [ |
155 |
{ |
{ |
156 |
a => "DLC", |
a => "DLC", |
157 |
c => "BOS", |
c => "BOS", |
158 |
d => "TML", |
d => "TML", |
159 |
i1 => " ", |
i1 => "1", |
160 |
i2 => " ", |
i2 => "2", |
161 |
subfields => ["a", 0, "c", 0, "d", 0, "d", 1, "d", 2], |
subfields => ["a", 0, "c", 0, "d", 0], |
|
}, |
|
|
], |
|
|
"041" => [{ a => "engfre", i1 => 1, i2 => " ", subfields => ["a", 0] }], |
|
|
"049" => [{ a => "TMLM", i1 => " ", i2 => " ", subfields => ["a", 0] }], |
|
|
"050" => [ |
|
|
{ |
|
|
a => "RC340", |
|
|
b => ".P513 1806a", |
|
|
i1 => 0, |
|
|
i2 => " ", |
|
|
subfields => ["a", 0, "b", 0], |
|
|
}, |
|
|
], |
|
|
"096" => [ |
|
|
{ a => "WM 11 P653t 1962", i1 => " ", i2 => " ", subfields => ["a", 0] }, |
|
|
], |
|
|
100 => [ |
|
|
{ |
|
|
a => "Pinel, Philippe,", |
|
|
d => "1745-1826.", |
|
|
i1 => 1, |
|
|
i2 => 0, |
|
|
subfields => ["a", 0, "d", 0], |
|
162 |
}, |
}, |
163 |
], |
], |
164 |
245 => [ |
245 => [ |
167 |
a => "A treatise on insanity /", |
a => "A treatise on insanity /", |
168 |
c => "translated from the French by D. D. Davis, with an introd. by Paul F. Cranefield.", |
c => "translated from the French by D. D. Davis, with an introd. by Paul F. Cranefield.", |
169 |
subfields => [1, 0, "a", 0, "c", 0], |
subfields => [1, 0, "a", 0, "c", 0], |
170 |
}, |
i1 => '0', |
171 |
], |
i2 => '1', |
|
260 => [ |
|
|
{ |
|
|
a => "New York :", |
|
|
b => "Published under the auspices of the Library of the New York Academy of Medicine by Hafner Pub. Co.,", |
|
|
c => "1962.", |
|
|
i1 => 0, |
|
|
i2 => " ", |
|
|
subfields => ["a", 0, "b", 0, "c", 0], |
|
|
}, |
|
|
], |
|
|
300 => [ |
|
|
{ |
|
|
a => "lv, 288 p. :", |
|
|
b => "ill. ;", |
|
|
c => "21 cm.", |
|
|
i1 => " ", |
|
|
i2 => " ", |
|
|
subfields => ["a", 0, "b", 0, "c", 0], |
|
|
}, |
|
|
], |
|
|
440 => [ |
|
|
{ |
|
|
a => "History of medicine ;", |
|
|
i1 => " ", |
|
|
i2 => 0, |
|
|
subfields => ["a", 0, "v", 0], |
|
|
v => "no. 14", |
|
|
}, |
|
|
], |
|
|
500 => [ |
|
|
{ |
|
|
a => "\"Facsimile of the London 1806 edition.\"", |
|
|
i1 => " ", |
|
|
i2 => " ", |
|
|
subfields => ["a", 0], |
|
|
}, |
|
|
{ |
|
|
a => "Translation of: Traite medico-philosophique sur l'alienation mentale.", |
|
|
i1 => " ", |
|
|
i2 => " ", |
|
|
subfields => ["a", 0], |
|
|
}, |
|
|
], |
|
|
590 => [ |
|
|
{ |
|
|
a => "L21942,WM ,purc, 10.00,rtr,1-78", |
|
|
i1 => " ", |
|
|
i2 => " ", |
|
|
subfields => ["a", 0], |
|
|
}, |
|
|
], |
|
|
650 => [ |
|
|
{ " " => 2, a => "Psychiatry", subfields => [" ", 0, "a", 0] }, |
|
|
{ " " => 2, a => "Mental Disorders", subfields => [" ", 0, "a", 0] }, |
|
|
], |
|
|
852 => [ |
|
|
{ |
|
|
8 => ".1", |
|
|
9 => "`;11623`07/02/1991 08:09````````````````B^61^R04CZ4^^^^1^101^1^1000^^`1^11623^54969,29361^^`2^0^0^2^0^1^0^4`", |
|
|
b => "LU GENCOL", |
|
|
d => "TWO WEEKS", |
|
|
h => "WM 11 P653t 1962", |
|
|
i => 43, |
|
|
i1 => " ", |
|
|
i2 => " ", |
|
|
o => "available", |
|
|
p => "R04CZ4", |
|
|
subfields => [8, 0, "b", 0, "h", 0, "t", 0, "p", 0, "i", 0, "d", 0, "o", 0, 9, 0], |
|
|
t => 1, |
|
|
}, |
|
|
], |
|
|
911 => [{ a => 61, i1 => " ", i2 => " ", subfields => ["a", 0] }], |
|
|
979 => [ |
|
|
{ |
|
|
a => "USERS", |
|
|
b => 19831011, |
|
|
c => "TAPE", |
|
|
d => "ARCH", |
|
|
i1 => " ", |
|
|
i2 => " ", |
|
|
subfields => ["a", 0, "b", 0, "c", 0, "d", 0], |
|
172 |
}, |
}, |
173 |
], |
], |
174 |
leader => ["01237cam 2200301Ii 4500"], |
leader => ["01237cam 2200301Ii 4500"], |
175 |
}; |
}; |
176 |
|
|
177 |
test_marc_clone( $rec, [ |
test_marc_clone( $rec, [ |
178 |
[900, " ", " ", "a", "900a", "b", "900b"], |
["000", 2], |
179 |
[901, " ", " ", "c", "901c"], |
["001", "ocm00734950"], |
180 |
|
["003", "OCoLC"], |
181 |
|
["040", 1,2, "a" => "DLC", "c" => "BOS", "d" => "TML"], |
182 |
|
[ 245, 0,1, 1 => 2, "a" => "A treatise on insanity /", "c" => "translated from the French by D. D. Davis, with an introd. by Paul F. Cranefield." ], |
183 |
] ); |
] ); |
184 |
|
|