From 141d0fad0d9f8c320b8514e3cfd61d50a0e1e1b3 Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Fri, 8 May 2009 17:31:14 -0500 Subject: [PATCH] bug 3120: tweak splitting of Dewey call number If a call number prefix contains a hyphen, try not to split on the hyphen. For example, rather than splitting the call number 'CD-ROM 787.87 EAS' like this: CD -ROM 787.87 EAS it should be CD-ROM 787.87 EAS Signed-off-by: Galen Charlton --- C4/Labels.pm | 2 +- t/Labels_split_ddcn.t | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/C4/Labels.pm b/C4/Labels.pm index 5fc15d678f..5a3ee18192 100644 --- a/C4/Labels.pm +++ b/C4/Labels.pm @@ -980,7 +980,7 @@ sub split_ddcn { # ddcn examples: 'R220.3 H2793Z H32 c.2', 'BIO JP2 R5c.1' my (@parts) = m/ - ^([a-zA-Z]+(?:$possible_decimal)?) # R220.3 # BIO # first example will require extra splitting + ^([a-zA-Z-]+(?:$possible_decimal)?) # R220.3 # BIO # first example will require extra splitting \s* (.+) # H2793Z H32 c.2 # R5c.1 # everything else (except bracketing spaces) \s* diff --git a/t/Labels_split_ddcn.t b/t/Labels_split_ddcn.t index ca879f372e..7927ec0c31 100755 --- a/t/Labels_split_ddcn.t +++ b/t/Labels_split_ddcn.t @@ -5,7 +5,7 @@ use strict; use warnings; -use Test::More tests => 52; +use Test::More tests => 62; BEGIN { use_ok('C4::Labels'); @@ -17,6 +17,7 @@ my $ddcns = { 'FIC GIR J5c.1' => [qw(FIC GIR J5 c.1 )], 'J DAR G7c.11' => [qw( J DAR G7 c.11)], 'R220.3 H2793Z H32 c.2' => [qw(R 220.3 H2793Z H32 c.2)], + 'CD-ROM 787.87 EAS' => [qw(CD-ROM 787.87 EAS)], }; foreach my $ddcn (sort keys %$ddcns) { -- 2.39.5