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>
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
}
use strict;
use warnings;
-use Test::More tests => 72;
+use Test::More tests => 82;
BEGIN {
use_ok('C4::Labels');
'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) {