# Convert to lower case
$marclist = [map(lc, @{$marclist})];
+ $orderby = lc $orderby;
# Make sure everything exists
foreach my $m (@$marclist) {
: ( $orderby =~ /^auth/ ) ? 'local-number'
: undef;
if ($sort_field) {
- my $sort_order = ( $orderby =~ /Asc$/ ) ? 'asc' : 'desc';
+ my $sort_order = ( $orderby =~ /asc$/ ) ? 'asc' : 'desc';
%sort = ( $sort_field => $sort_order, );
}
my %search = (
=cut
-my $tokenize_split_re = qr/((?:${field_name_pattern}${multi_field_pattern}:)?"[^"]+"|\s+)/;
sub _truncate_terms {
my ( $self, $query ) = @_;
=cut
+my $tokenize_split_re = qr/((?:${field_name_pattern}${multi_field_pattern}:)?"[^"]+"|\s+)/;
+
sub _split_query {
my ( $self, $query ) = @_;
# '"donald duck" title:"the mouse" and peter" get split into
# ['', '"donald duck"', '', ' ', '', 'title:"the mouse"', '', ' ', 'and', ' ', 'pete']
- my @tokens = split /((?:[\w\-.]+:)?"[^"]+"|\s+)/, $query;
+ my @tokens = split $tokenize_split_re, $query;
# Filter out empty values
@tokens = grep( /\S/, @tokens );
$query->{sort},
[
{
- 'Heading__sort.phrase' => 'asc'
+ 'heading__sort' => 'asc'
}
],
"ascending sort parameter properly formed"
$query->{sort},
[
{
- 'Heading__sort.phrase' => 'desc'
+ 'heading__sort' => 'desc'
}
],
"descending sort parameter properly formed"
is_deeply(
\@sort_by,
[
- { field => 'callnum', direction => 'asc' },
+ { field => 'local-classification', direction => 'asc' },
{ field => 'author', direction => 'desc' }
],
'sort fields should have been split correctly'
is_deeply(
\@sort_by,
[
- { field => 'callnum', direction => 'asc' },
+ { field => 'local-classification', direction => 'asc' },
{ field => 'author', direction => 'desc' }
],
'sort fields should have been split correctly'