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
229 end229 end
230 230
231 get '/' do231 get '/' do
232 return redirect "/#q=#{params[:q]}" if params[:q]
232 return redirect '/' unless request.query_string.empty? # courtesy of HTML5 App Cache233 return redirect '/' unless request.query_string.empty? # courtesy of HTML5 App Cache
233 response.headers['Content-Security-Policy'] = settings.csp if settings.csp234 response.headers['Content-Security-Policy'] = settings.csp if settings.csp
234 erb :index235 erb :index
test/app_test.rb+6−0
@@ -17,6 +17,12 @@ class AppTest < MiniTest::Spec · 16 unmodified lines
17 assert last_response.ok?17 assert last_response.ok?
18 end18 end
19 19
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
20 it "redirects without the query string" do26 it "redirects without the query string" do
21 get '/', foo: 'bar'27 get '/', foo: 'bar'
22 assert last_response.redirect?28 assert last_response.redirect?
views/app.erb+1−1
@@ -5,7 +5,7 @@ · 4 unmodified lines
5 <button type="button" class="_mobile-btn _menu-btn">Menu</button>5 <button type="button" class="_mobile-btn _menu-btn">Menu</button>
6 <button type="button" class="_mobile-btn _home-btn">Home</button>6 <button type="button" class="_mobile-btn _home-btn">Home</button>
7 <form class="_search" role="search">7 <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">
9 <button type="reset" class="_search-clear" title="Clear search">Clear search</button>9 <button type="reset" class="_search-clear" title="Clear search">Clear search</button>
10 <div class="_search-tag"></div>10 <div class="_search-tag"></div>
11 </form>11 </form>