
This commit is generated using: % perl misc/devel/tidy.pl *within* ktd, to get the same version of perltidy than what will be used by our CI (currently v20230309). Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
55 lines
2.2 KiB
Perl
Executable file
55 lines
2.2 KiB
Perl
Executable file
use Modern::Perl;
|
|
use Test::More tests => 4;
|
|
use MARC::Record;
|
|
|
|
use C4::Biblio qw( GetMarcFromKohaField AddBiblio );
|
|
use C4::Context;
|
|
use C4::Charset qw( SanitizeRecord );
|
|
|
|
use Koha::Database;
|
|
|
|
my $schema = Koha::Database->new->schema;
|
|
$schema->storage->txn_begin;
|
|
my $dbh = C4::Context->dbh;
|
|
|
|
my $frameworkcode = q||;
|
|
|
|
$dbh->do(
|
|
q|
|
|
DELETE FROM marc_subfield_structure WHERE kohafield='biblioitems.url'
|
|
|
|
|
);
|
|
$dbh->do(
|
|
qq|
|
|
INSERT INTO marc_subfield_structure(frameworkcode,kohafield,tagfield,tagsubfield)
|
|
VALUES ('$frameworkcode', 'biblioitems.url', '856', 'u')
|
|
|
|
|
);
|
|
my ( $url_field, $url_subfield ) = C4::Biblio::GetMarcFromKohaField('biblioitems.url');
|
|
|
|
my $title = q|My title & a word & another word|;
|
|
my $url = q|http://www.example.org/index.pl?arg1=val1&arg2=val2|;
|
|
my $record = MARC::Record->new();
|
|
$record->append_fields(
|
|
MARC::Field->new( '100', ' ', ' ', a => 'my author' ),
|
|
MARC::Field->new( '245', ' ', ' ', a => $title ),
|
|
MARC::Field->new( $url_field, ' ', ' ', $url_subfield => $url ),
|
|
);
|
|
|
|
my ( $biblionumber, $biblioitemnumber ) = AddBiblio( $record, $frameworkcode );
|
|
my ( $sanitized_record, $has_been_modified ) = C4::Charset::SanitizeRecord( $record, $biblionumber );
|
|
is( $has_been_modified, 0, 'SanitizeRecord: the record has not been modified' );
|
|
is( $url, $sanitized_record->subfield( $url_field, $url_subfield ), 'SanitizeRecord: the url has not been modified' );
|
|
|
|
$title = q|My title &amp;amp; a word &amp; another word|;
|
|
$record = MARC::Record->new();
|
|
$record->append_fields(
|
|
MARC::Field->new( '100', ' ', ' ', a => 'my author' ),
|
|
MARC::Field->new( '245', ' ', ' ', a => $title ),
|
|
MARC::Field->new( $url_field, ' ', ' ', $url_subfield => $url ),
|
|
);
|
|
|
|
( $biblionumber, $biblioitemnumber ) = AddBiblio( $record, $frameworkcode );
|
|
( $sanitized_record, $has_been_modified ) = C4::Charset::SanitizeRecord( $record, $biblionumber );
|
|
is( $has_been_modified, 1, 'SanitizeRecord: the record has been modified' );
|
|
is( $url, $sanitized_record->subfield( $url_field, $url_subfield ), 'SanitizeRecord: the url has not been modified' );
|