From 206ec99f8f8df0e2f8244b8539fe81f2b69384b4 Mon Sep 17 00:00:00 2001 From: James Kiesel Date: Thu, 9 Oct 2014 23:28:30 +1300 Subject: [PATCH] Strip search query of leading & trailing whitespace --- app/controllers/search_controller.rb | 2 +- spec/controllers/search_controller_spec.rb | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb index 6c2f43474..f3a320615 100644 --- a/app/controllers/search_controller.rb +++ b/app/controllers/search_controller.rb @@ -20,7 +20,7 @@ class SearchController < ApplicationController private def search_query - @search_query ||= params[:q] || params[:term] || '' + @search_query ||= (params[:q] || params[:term] || '').strip end end diff --git a/spec/controllers/search_controller_spec.rb b/spec/controllers/search_controller_spec.rb index 5ec4baf6d..bc07db4ae 100644 --- a/spec/controllers/search_controller_spec.rb +++ b/spec/controllers/search_controller_spec.rb @@ -35,5 +35,16 @@ describe SearchController, :type => :controller do end end + describe '#search_query' do + it 'strips the term parameter' do + @controller.params[:term] = ' IN SPACE! ' + expect(@controller.send(:search_query)).to eq 'IN SPACE!' + end + + it 'strips the q parameter' do + @controller.params[:q] = ' IN SPACE! ' + expect(@controller.send(:search_query)).to eq 'IN SPACE!' + end + end end