Bug 2500 Tweaking DDCN Split for Hyphenated Volumn Numbers

Presently 252.051 T147 v.1-2 is split as

252.051
T147
v.1
-2

This patch corrects the algorithm so that it splits as

252.051
T147
v.1-2

It also updates Labels_split_ddcn.t to include this particular case.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This commit is contained in:
Chris Nighswonger 2009-05-27 11:30:14 -04:00 committed by Galen Charlton
parent 3206d0fe3c
commit e72a02e08b
2 changed files with 3 additions and 2 deletions

View file

@ -953,7 +953,7 @@ sub split_ddcn {
push @parts, split /\s+/, pop @parts; # split the last piece into an arbitrary number of pieces at spaces
if ($parts[-1] =~ /^(.*\d+)(\D.*)$/) {
if ($parts[-1] !~ /^.*\d-\d.*$/ && $parts[-1] =~ /^(.*\d+)(\D.*)$/) {
pop @parts; # pull off the mathching last element, like example 2
push @parts, $1, $2; # replace it with the two pieces
}

View file

@ -5,7 +5,7 @@
use strict;
use warnings;
use Test::More tests => 72;
use Test::More tests => 82;
BEGIN {
use_ok('C4::Labels');
@ -19,6 +19,7 @@ my $ddcns = {
'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)],
'MP3-CD F PARKER' => [qw(MP3-CD F PARKER)],
'252.051 T147 v.1-2' => [qw(252.051 T147 v.1-2)],
};
foreach my $ddcn (sort keys %$ddcns) {