-# redMine - project management software
-# Copyright (C) 2006-2007 Jean-Philippe Lang
+# Redmine - project management software
+# Copyright (C) 2006-2011 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
c = results_by_type[t]
next if c == 0
text = "#{type_label(t)} (#{c})"
- links << link_to(text, :q => params[:q], :titles_only => params[:title_only], :all_words => params[:all_words], :scope => params[:scope], t => 1)
+ links << link_to(text, :q => params[:q], :titles_only => params[:titles_only], :all_words => params[:all_words], :scope => params[:scope], t => 1)
end
('<ul>' + links.map {|link| content_tag('li', link)}.join(' ') + '</ul>') unless links.empty?
end
end
def test_search_all_projects
- get :index, :q => 'recipe subproject commit', :submit => 'Search'
+ get :index, :q => 'recipe subproject commit', :all_words => ''
assert_response :success
assert_template 'index'
assert_response :success
assert_template 'index'
+ assert_equal true, assigns(:all_words)
+ assert_equal false, assigns(:titles_only)
assert assigns(:results).include?(Issue.find(8))
assert assigns(:results).include?(Issue.find(5))
assert_tag :dt, :attributes => { :class => /issue closed/ },
end
def test_search_project_and_subprojects
- get :index, :id => 1, :q => 'recipe subproject', :scope => 'subprojects', :submit => 'Search'
+ get :index, :id => 1, :q => 'recipe subproject', :scope => 'subprojects', :all_words => ''
assert_response :success
assert_template 'index'
assert assigns(:results).include?(Issue.find(1))
def test_search_all_words
# 'all words' is on by default
- get :index, :id => 1, :q => 'recipe updating saving'
+ get :index, :id => 1, :q => 'recipe updating saving', :all_words => '1'
+ assert_equal true, assigns(:all_words)
results = assigns(:results)
assert_not_nil results
assert_equal 1, results.size
end
def test_search_one_of_the_words
- get :index, :id => 1, :q => 'recipe updating saving', :submit => 'Search'
+ get :index, :id => 1, :q => 'recipe updating saving', :all_words => ''
+ assert_equal false, assigns(:all_words)
results = assigns(:results)
assert_not_nil results
assert_equal 3, results.size
end
def test_search_titles_only_without_result
- get :index, :id => 1, :q => 'recipe updating saving', :all_words => '1', :titles_only => '1', :submit => 'Search'
+ get :index, :id => 1, :q => 'recipe updating saving', :titles_only => '1'
results = assigns(:results)
assert_not_nil results
assert_equal 0, results.size
end
def test_search_titles_only
- get :index, :id => 1, :q => 'recipe', :titles_only => '1', :submit => 'Search'
+ get :index, :id => 1, :q => 'recipe', :titles_only => '1'
+ assert_equal true, assigns(:titles_only)
results = assigns(:results)
assert_not_nil results
assert_equal 2, results.size
end
+ def test_search_content
+ Issue.update_all("description = 'This is a searchkeywordinthecontent'", "id=1")
+
+ get :index, :id => 1, :q => 'searchkeywordinthecontent', :titles_only => ''
+ assert_equal false, assigns(:titles_only)
+ results = assigns(:results)
+ assert_not_nil results
+ assert_equal 1, results.size
+ end
+
def test_search_with_invalid_project_id
get :index, :id => 195, :q => 'recipe'
assert_response 404