Lines 17-24
Link Here
|
17 |
|
17 |
|
18 |
use Modern::Perl; |
18 |
use Modern::Perl; |
19 |
|
19 |
|
20 |
use Test::More tests => 2; |
20 |
use Test::More tests => 3; |
21 |
use MARC::Record; |
21 |
use MARC::Record; |
|
|
22 |
use MARC::Field; |
22 |
|
23 |
|
23 |
BEGIN { use_ok('Koha::Util::MARC'); } |
24 |
BEGIN { use_ok('Koha::Util::MARC'); } |
24 |
|
25 |
|
Lines 41-43
subtest 'set_marc_field' => sub {
Link Here
|
41 |
is(scalar @subfields, 1, 'No additional subfield created'); |
42 |
is(scalar @subfields, 1, 'No additional subfield created'); |
42 |
is($subfields[0], 'foobaz', 'Subfield value has been changed'); |
43 |
is($subfields[0], 'foobaz', 'Subfield value has been changed'); |
43 |
}; |
44 |
}; |
44 |
- |
45 |
|
|
|
46 |
subtest 'find_marc_info, strip_orgcode, oclc_number' => sub { |
47 |
plan tests => 9; |
48 |
|
49 |
my $record = MARC::Record->new; |
50 |
$record->append_fields( |
51 |
MARC::Field->new( '003', 'some_data' ), |
52 |
MARC::Field->new( '035', '', '', a => '(test)123', a => '(change)456' ), |
53 |
MARC::Field->new( '035', '', '', a => '(test) 567', a => '(change) 567' ), |
54 |
); |
55 |
is( scalar Koha::Util::MARC::find_marc_info({ |
56 |
record => $record, field => '003', |
57 |
}), 'some_data', 'control field, scalar' ); |
58 |
is( ( Koha::Util::MARC::find_marc_info({ |
59 |
record => $record, field => '003', |
60 |
}))[0], 'some_data', 'control field, list' ); |
61 |
|
62 |
is( scalar Koha::Util::MARC::find_marc_info({ |
63 |
record => $record, field => '035', subfield => 'a', match => qr/56/, |
64 |
}), '(change)456', '035a, match, scalar' ); |
65 |
my @list = Koha::Util::MARC::find_marc_info({ |
66 |
record => $record, field => '035', subfield => 'a', match => qr/c.*56/, |
67 |
}); |
68 |
is_deeply( \@list, [ '(change)456', '(change) 567' ], '035a, match, list' ); |
69 |
|
70 |
@list = map { Koha::Util::MARC::strip_orgcode($_) } @list; |
71 |
is_deeply( \@list, [ '456', '567' ], 'strip the orgcodes' ); |
72 |
@list = map { Koha::Util::MARC::strip_orgcode($_) } ( '() a', '(a)(b) c', '(abc', ' (a)b' ); |
73 |
is_deeply( \@list, [ 'a', '(b) c', '(abc', ' (a)b' ], 'edge cases for strip_orgcode' ); |
74 |
|
75 |
is( Koha::Util::MARC::oclc_number(), undef, 'No arg for oclc_number' ); |
76 |
$record->append_fields( |
77 |
MARC::Field->new( '035', '', '', a => '(OCoLC) 678' ), |
78 |
); |
79 |
is( Koha::Util::MARC::oclc_number($record), '678', 'orgcode mixed case' ); |
80 |
$record->insert_fields_ordered( |
81 |
MARC::Field->new( '035', '', '', a => '(ocolc) 789' ), |
82 |
); |
83 |
is( Koha::Util::MARC::oclc_number($record), '789', 'orgcode lower case' ); |
84 |
|
85 |
}; |