From 51756e6e9825fe5154d55f911101b3e7acaa2729 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 3 May 2017 15:30:14 -0300 Subject: [PATCH] Bug 18152: Add tests --- t/Charset.t | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/t/Charset.t b/t/Charset.t index 143c208..7deac79 100755 --- a/t/Charset.t +++ b/t/Charset.t @@ -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,25 @@ 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 = '012345678 0 '; # position 9 of leader must be blank + + 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; -- 2.9.3