From 47dd672ca2f78f3892ed753252ba89e98bc23862 Mon Sep 17 00:00:00 2001
From: Aleisha Amohia <aleishaamohia@hotmail.com>
Date: Thu, 7 Apr 2022 06:03:20 +0000
Subject: [PATCH] Bug 30358: (follow-up) Fixing tests and including for inner
 newlines

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
---
 C4/AuthoritiesMarc.pm                 |  4 ++--
 C4/Biblio.pm                          |  4 ++--
 t/db_dependent/Biblio/ModBiblioMarc.t | 12 ++++++------
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/C4/AuthoritiesMarc.pm b/C4/AuthoritiesMarc.pm
index 567840639f..36086dc77d 100644
--- a/C4/AuthoritiesMarc.pm
+++ b/C4/AuthoritiesMarc.pm
@@ -662,8 +662,8 @@ sub AddAuthority {
             foreach my $subfield ( $field->subfields ) {
                 my $key = $subfield->[0];
                 my $value = $subfield->[1];
-                $value =~ s/^\s+|\s+$|^\t+|\t+$|^\n+|\n+$|^\r+|\r+$//g;
-                $value =~ s/\n+|\r+/ /g;
+                $value =~ s/[\n\r]+/ /g;
+                $value =~ s/^\s+|\s+$|^\t+|\t+$//g;
                 $field->update( $key => $value );
             }
         }
diff --git a/C4/Biblio.pm b/C4/Biblio.pm
index 296579530d..7803fbf812 100644
--- a/C4/Biblio.pm
+++ b/C4/Biblio.pm
@@ -2756,8 +2756,8 @@ sub ModBiblioMarc {
             foreach my $subfield ( $field->subfields ) {
                 my $key = $subfield->[0];
                 my $value = $subfield->[1];
-                $value =~ s/^\s+|\s+$|^\t+|\t+$|^\n+|\n+$|^\r+|\r+$//g;
-                $value =~ s/\n+|\r+/ /g;
+                $value =~ s/[\n\r]+/ /g;
+                $value =~ s/^\s+|\s+$|^\t+|\t+$//g;
                 $field->update( $key => $value );
             }
         }
diff --git a/t/db_dependent/Biblio/ModBiblioMarc.t b/t/db_dependent/Biblio/ModBiblioMarc.t
index 5312b85e82..5e33cd23e2 100755
--- a/t/db_dependent/Biblio/ModBiblioMarc.t
+++ b/t/db_dependent/Biblio/ModBiblioMarc.t
@@ -50,24 +50,24 @@ subtest "Check MARC field length calculation" => sub {
 subtest "StripWhitespaceChars tests" => sub {
     plan tests => 3;
 
-    t::lib::Mocks->mock_preference('marcflavour', 'MARC21');
-    t::lib::Mocks->mock_preference('StripWhitespaceChars', 0);
+    t::lib::Mocks::mock_preference('marcflavour', 'MARC21');
+    t::lib::Mocks::mock_preference('StripWhitespaceChars', 0);
 
     my $biblio = t::lib::TestBuilder->new->build_sample_biblio;
     my $record = MARC::Record->new;
     $record->append_fields(
-        MARC::Field->new( '245', '', '', a => "  My title\n" ),
+        MARC::Field->new( '245', '', '', a => "  My\ntitle\n" ),
     );
 
     my $title = $record->title;
-    is( $title, "  My title\n", 'Title has whitespace characters' );
+    is( $title, "  My\ntitle\n", 'Title has whitespace characters' );
 
     C4::Biblio::ModBiblioMarc( $record, $biblio->biblionumber );
     my $savedrec = C4::Biblio::GetMarcBiblio({ biblionumber => $biblio->biblionumber });
     my $savedtitle = $savedrec->title;
-    is( $savedtitle, "  My title\n", "Title still has whitespace characters because StripWhitespaceChars is disabled" );
+    is( $savedtitle, "  My\ntitle\n", "Title still has whitespace characters because StripWhitespaceChars is disabled" );
 
-    t::lib::Mocks->mock_preference('StripWhitespaceChars', 1);
+    t::lib::Mocks::mock_preference('StripWhitespaceChars', 1);
 
     C4::Biblio::ModBiblioMarc( $record, $biblio->biblionumber );
     my $amendedrec = C4::Biblio::GetMarcBiblio({ biblionumber => $biblio->biblionumber });
-- 
2.30.2