Bug 18152: Add tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit a807d7199e)
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
(cherry picked from commit 5016a854cc)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
This commit is contained in:
Jonathan Druart 2017-05-03 15:30:14 -03:00 committed by Julian Maurice
parent b082aeb914
commit c68c2393d6
1 changed files with 26 additions and 1 deletions

View File

@ -17,11 +17,13 @@
use Modern::Perl;
use Test::More tests => 16;
use Test::More tests => 17;
use Encode qw( is_utf8 );
use MARC::Record;
use t::lib::Mocks;
use utf8;
use open ':std', ':encoding(utf8)';
@ -71,4 +73,27 @@ ok( Encode::is_utf8($record->subfield('100','a')) &&
is( nsb_clean("˜Leœ Moyen Âge"), "Le Moyen Âge", "nsb_clean removes ˜ and œ" );
subtest 'SetMarcUnicodeFlag' => sub {
plan tests => 2;
# TODO This should be done in MARC::Record
my $leader = '012345678X0 ';
my $expected_marc21_leader = '012345678a0 '; # position 9 of leader must be 'a'
my $expected_unimarc_leader = '012345678X0 '; # position 9 of leader must not be changed
# Note that position 9 of leader should be blank for UNIMARC, but as it is not related to encoding
# we do not want to change it
t::lib::Mocks::mock_preference( 'marcflavour', 'MARC21' );
my $marc21_record = MARC::Record->new;
$marc21_record->leader($leader);
SetMarcUnicodeFlag( $marc21_record, C4::Context->preference('marcflavour') );
is( $marc21_record->leader, $expected_marc21_leader, 'Leader 9 for MARC21 mush be "a"' );
t::lib::Mocks::mock_preference( 'marcflavour', 'UNIMARC' );
t::lib::Mocks::mock_preference( 'UNIMARCField100Language', 'fre' );
my $unimarc_record = MARC::Record->new;
$unimarc_record->leader($leader);
SetMarcUnicodeFlag( $unimarc_record, C4::Context->preference('marcflavour') );
is( $unimarc_record->leader, $expected_unimarc_leader, 'Leader 9 for UNIMARC must be blank' );
};
1;