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 <galen.charlton@liblime.com>
This commit is contained in:
Galen Charlton 2009-05-08 17:31:14 -05:00
parent 8cd87e5426
commit b244cac492
2 changed files with 3 additions and 2 deletions

View File

@ -936,7 +936,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*

View File

@ -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) {