Lines 17-23
Link Here
|
17 |
|
17 |
|
18 |
use Modern::Perl; |
18 |
use Modern::Perl; |
19 |
|
19 |
|
20 |
use Test::More tests => 3; |
20 |
use Test::More tests => 4; |
21 |
use Test::Exception; |
21 |
use Test::Exception; |
22 |
use Test::Warn; |
22 |
use Test::Warn; |
23 |
|
23 |
|
Lines 89-94
subtest 'record() tests' => sub {
Link Here
|
89 |
$schema->storage->txn_rollback; |
89 |
$schema->storage->txn_rollback; |
90 |
}; |
90 |
}; |
91 |
|
91 |
|
|
|
92 |
subtest 'record_strip_nonxml() tests' => sub { |
93 |
|
94 |
plan tests => 5; |
95 |
|
96 |
$schema->storage->txn_begin; |
97 |
|
98 |
my $title = 'Oranges and' . chr(31) . ' Peaches'; |
99 |
|
100 |
# Create a valid record |
101 |
my $record = MARC::Record->new(); |
102 |
my $field = MARC::Field->new( '245', '', '', 'a' => $title ); |
103 |
$record->append_fields($field); |
104 |
my ($biblio_id) = C4::Biblio::AddBiblio( $record, '' ); |
105 |
|
106 |
my $metadata = Koha::Biblios->find($biblio_id)->metadata; |
107 |
my $record2 = $metadata->record_strip_nonxml; |
108 |
|
109 |
is( ref $record2, 'MARC::Record', 'Method record() returned a MARC::Record object' ); |
110 |
is( |
111 |
$record2->field('245')->subfield("a"), |
112 |
"Oranges and Peaches", 'Title in 245$a matches title with control character removed' |
113 |
); |
114 |
|
115 |
my $bad_data = $builder->build_object( |
116 |
{ |
117 |
class => 'Koha::Biblio::Metadatas', |
118 |
value => { format => 'marcxml', schema => 'MARC21', metadata => 'this_is_not_marcxml' } |
119 |
} |
120 |
); |
121 |
|
122 |
warning_like { $record2 = $bad_data->record_strip_nonxml; } |
123 |
qr/parser error : Start tag expected, '<' not found/, |
124 |
'Warning thrown explicitly'; |
125 |
|
126 |
is( |
127 |
$record2, undef, |
128 |
"record_strip_nonxml returns undef when the record cannot be parsed after removing nonxml characters" |
129 |
); |
130 |
|
131 |
my $builder = t::lib::TestBuilder->new; |
132 |
my $item = $builder->build_sample_item( { biblionumber => $metadata->biblionumber } ); |
133 |
|
134 |
# Emptied the OpacHiddenItems pref |
135 |
t::lib::Mocks::mock_preference( 'OpacHiddenItems', '' ); |
136 |
my ($itemfield) = C4::Biblio::GetMarcFromKohaField('items.itemnumber'); |
137 |
|
138 |
$record2 = $metadata->record_strip_nonxml( { embed_items => 1 } ); |
139 |
|
140 |
my @items = $record2->field($itemfield); |
141 |
|
142 |
is( scalar @items, 1, "We got back our item" ); |
143 |
|
144 |
$schema->storage->txn_rollback; |
145 |
}; |
146 |
|
92 |
subtest '_embed_items' => sub { |
147 |
subtest '_embed_items' => sub { |
93 |
plan tests => 10; |
148 |
plan tests => 10; |
94 |
|
149 |
|
95 |
- |
|
|