History

Fix keyword search in Firefox and URL search via query param

Fixes #577.

Thibaut Courouble committed 9 years ago

Commit ad044f81 parent 476c69e3 files · +8 −1Browse files

Unified · Split

3 files
  1. lib/app.rb +1 −0
  2. test/app_test.rb +6 −0
  3. views/app.erb +1 −1
lib/app.rb+1−0
@@ -229,6 +229,7 @@ class App < Sinatra::Application · 228 unmodified lines
229229 end
230230
231231 get '/' do
232+ return redirect "/#q=#{params[:q]}" if params[:q]
232233 return redirect '/' unless request.query_string.empty? # courtesy of HTML5 App Cache
233234 response.headers['Content-Security-Policy'] = settings.csp if settings.csp
234235 erb :index
test/app_test.rb+6−0
@@ -17,6 +17,12 @@ class AppTest < MiniTest::Spec · 16 unmodified lines
1717 assert last_response.ok?
1818 end
1919
20+ it "redirects to /#q= when there is a 'q' query param" do
21+ get '/search', q: 'foo'
22+ assert last_response.redirect?
23+ assert_equal 'http://example.org/#q=foo', last_response['Location']
24+ end
25+
2026 it "redirects without the query string" do
2127 get '/', foo: 'bar'
2228 assert last_response.redirect?
views/app.erb+1−1
@@ -5,7 +5,7 @@ · 4 unmodified lines
55 <button type="button" class="_mobile-btn _menu-btn">Menu</button>
66 <button type="button" class="_mobile-btn _home-btn">Home</button>
77 <form class="_search" role="search">
8− <input type="search" class="_search-input" placeholder="Search&hellip;" autocomplete="off" autocapitalize="off" autocorrect="off" spellcheck="false" maxlength="30" aria-label="Search">
8+ <input type="search" name="q" class="_search-input" placeholder="Search&hellip;" autocomplete="off" autocapitalize="off" autocorrect="off" spellcheck="false" maxlength="30" aria-label="Search">
99 <button type="reset" class="_search-clear" title="Clear search">Clear search</button>
1010 <div class="_search-tag"></div>
1111 </form>