[libcatmandu-marc-perl] 13/208: Fixing marc_map for inline fixes #31

Jonas Smedegaard dr at jones.dk
Sat Oct 28 03:42:30 UTC 2017


This is an automated email from the git hooks/post-receive script.

js pushed a commit to annotated tag upstream/1.19
in repository libcatmandu-marc-perl.

commit 9ec18c85e80b58f1e0eeb12474c0d1eaf86ab9a1
Author: Patrick Hochstenbach <patrick.hochstenbach at ugent.be>
Date:   Tue Jun 14 14:03:13 2016 +0200

    Fixing marc_map for inline fixes #31
---
 Changes                             |  1 +
 lib/Catmandu/Fix/Inline/marc_map.pm |  7 ++++++-
 t/07-inline-fix.t                   | 10 +++++++---
 t/old_new.json                      |  4 ++--
 4 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/Changes b/Changes
index 96c8f3f..77ae9d1 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,7 @@
 Revision history for Catmandu-MARC
 
 {{$NEXT}}
+  - Fixing marc_map for inline fixes 
 
 0.217  2016-06-14 09:48:59 CEST
   - Fixed dependency on Catmandu 1.0201 for Inlineable
diff --git a/lib/Catmandu/Fix/Inline/marc_map.pm b/lib/Catmandu/Fix/Inline/marc_map.pm
index ed13bb5..5ff03b5 100644
--- a/lib/Catmandu/Fix/Inline/marc_map.pm
+++ b/lib/Catmandu/Fix/Inline/marc_map.pm
@@ -162,7 +162,12 @@ sub marc_map {
     			}
         	}
         }
-    	push (@vals,$v) if ( (ref $v eq 'ARRAY' && @$v) || (ref $v eq '' && length $v ));
+        if (ref $v eq 'ARRAY' && @$v) {
+            push (@vals,@$v);
+        }
+        elsif (ref $v eq '' && length $v ) {
+            push (@vals,$v);
+        }
     }
 
     if (wantarray) {
diff --git a/t/07-inline-fix.t b/t/07-inline-fix.t
index 4b77e9e..5f7ee0e 100644
--- a/t/07-inline-fix.t
+++ b/t/07-inline-fix.t
@@ -1,14 +1,13 @@
 use strict;
 use warnings;
 
-use Test::More tests => 17;
+use Test::More tests => 18;
 
 use Catmandu::Fix::Inline::marc_map qw(marc_map);
 use Catmandu::Fix::Inline::marc_add qw(marc_add);
 use Catmandu::Fix::Inline::marc_set qw(marc_set);
 use Catmandu::Fix::Inline::marc_remove qw(marc_remove);
 use Catmandu::Importer::JSON;
-use Data::Dumper;
 
 my $importer = Catmandu::Importer::JSON->new( file => 't/old_new.json' );
 
@@ -25,7 +24,7 @@ ok(@$records == 2 , "Found 2 records");
 
 {
 	is scalar marc_map($records->[0],'245a'), q|ActivePerl with ASP and ADO /|, q|marc_map(245a)|;
-	is scalar marc_map($records->[0],'001') , q|fol05731351 | , q|marc_map(001)|;
+	is scalar marc_map($records->[0],'001') , q|fol05731351| , q|marc_map(001)|;
 	ok ! defined(scalar marc_map($records->[0],'191')) , q|marc_map(191) not defined|;
 	ok ! defined(scalar marc_map($records->[0],'245x')) , q|marc_map(245x) not defined|;
 }
@@ -88,4 +87,9 @@ ok(@$records == 2 , "Found 2 records");
 {
 	my @arr = marc_map($records->[0],'630',-split=>1);
 	ok @arr == 2;
+}
+
+{
+	my @arr = marc_map($records->[1],'020a',-split=>1);
+	ok @arr == 3;
 }
\ No newline at end of file
diff --git a/t/old_new.json b/t/old_new.json
index 56ee7e0..0ed6ffa 100644
--- a/t/old_new.json
+++ b/t/old_new.json
@@ -1,2 +1,2 @@
-{"record":[["LDR",null,null,"_","00755cam  22002414a 4500"],["001",null,null,"_","fol05731351 "],["003",null,null,"_","IMchF"],["005",null,null,"_","20000613133448.0"],["008",null,null,"_","000107s2000    nyua          001 0 eng  "],["010"," "," ","_","","a","   00020737 "],["020"," "," ","_","","a","0471383147 (paper/cd-rom : alk. paper)"],["040"," "," ","_","","a","DLC","c","DLC","d","DLC"],["042"," "," ","_","","a","pcc"],["050","0","0","_","","a","QA76.73.P22","b","M33 2000"],["082", [...]
-{"record":[["LDR",null,null,"_","00755cam  22002414a 4500"],["001",null,null,"_","fol05731351 "],["003",null,null,"_","IMchF"],["005",null,null,"_","20000613133448.0"],["008",null,null,"_","000107s2000    nyua          001 0 eng  "],["010"," "," ","a","   00020737 "],["020"," "," ","a","0471383147 (paper/cd-rom : alk. paper)"],["040"," "," ","a","DLC","c","DLC","d","DLC"],["042"," "," ","a","pcc"],["050","0","0","a","QA76.73.P22","b","M33 2000"],["082","0","0","a","005.13/3","2","21"],[" [...]
+{"record":[["FMT"," "," ","_","BK"],["LDR"," "," ","_","00755cam  22002414a 4500"],["001"," "," ","_","fol05731351"],["003"," "," ","_","IMchF"],["005"," "," ","_","20000613133448.0"],["008"," "," ","_","000107s2000    nyua          001 0 eng"],["010"," "," ","a","   00020737"],["020"," "," ","a","0471383147 (paper/cd-rom : alk. paper)"],["040"," "," ","a","DLC","c","DLC","d","DLC"],["042"," "," ","a","pcc"],["050","0","0","a","QA76.73.P22","b","M33 2000"],["082","0","0","a","005.13/3"," [...]
+{"_id":"000000001","record":[["FMT"," "," ","_","BK"],["LDR"," "," ","_","00755cam  22002414a 4500"],["001"," "," ","_","fol05731351"],["003"," "," ","_","IMchF"],["005"," "," ","_","20000613133448.0"],["008"," "," ","_","000107s2000    nyua          001 0 eng"],["010"," "," ","a","   00020737"],["020"," "," ","a","0471383147 (paper/cd-rom : alk. paper)"],["020"," "," ","a","1234567890","a","9876543210"],["040"," "," ","a","DLC","c","DLC","d","DLC"],["042"," "," ","a","pcc"],["050","0"," [...]

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libcatmandu-marc-perl.git



More information about the Pkg-perl-cvs-commits mailing list