diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-08-10 16:22:26 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-08-10 16:22:26 +0000 |
commit | 8b12702ebef20e54987673d898f8d261a317db02 (patch) | |
tree | aa66e76b414b602402f98554c377b1fb03228701 | |
parent | cbfafcd5e2442ada23f655eba21cb600476228ac (diff) | |
download | redmine-8b12702ebef20e54987673d898f8d261a317db02.tar.gz redmine-8b12702ebef20e54987673d898f8d261a317db02.zip |
Fixed that search results are escaped twice.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10185 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/views/search/index.html.erb | 4 | ||||
-rw-r--r-- | test/functional/search_controller_test.rb | 20 |
2 files changed, 22 insertions, 2 deletions
diff --git a/app/views/search/index.html.erb b/app/views/search/index.html.erb index bf3951263..d4d671aa9 100644 --- a/app/views/search/index.html.erb +++ b/app/views/search/index.html.erb @@ -29,8 +29,8 @@ <h3><%= l(:label_result_plural) %> (<%= @results_by_type.values.sum %>)</h3> <dl id="search-results"> <% @results.each do |e| %> - <dt class="<%= e.event_type %>"><%= content_tag('span', h(e.project), :class => 'project') unless @project == e.project %> <%= link_to highlight_tokens(truncate(h(e.event_title), :length => 255), @tokens), e.event_url %></dt> - <dd><span class="description"><%= highlight_tokens(h(e.event_description), @tokens) %></span> + <dt class="<%= e.event_type %>"><%= content_tag('span', h(e.project), :class => 'project') unless @project == e.project %> <%= link_to highlight_tokens(truncate(e.event_title, :length => 255), @tokens), e.event_url %></dt> + <dd><span class="description"><%= highlight_tokens(e.event_description, @tokens) %></span> <span class="author"><%= format_time(e.event_datetime) %></span></dd> <% end %> </dl> diff --git a/test/functional/search_controller_test.rb b/test/functional/search_controller_test.rb index fc40ce2f0..9491750bb 100644 --- a/test/functional/search_controller_test.rb +++ b/test/functional/search_controller_test.rb @@ -199,4 +199,24 @@ class SearchControllerTest < ActionController::TestCase get :index, :id => 1, :q => '"good bye" hello "bye bye"' assert_equal ["good bye", "hello", "bye bye"], assigns(:tokens) end + + def test_results_should_be_escaped_once + assert Issue.find(1).update_attributes(:subject => '<subject> escaped_once', :description => '<description> escaped_once') + get :index, :q => 'escaped_once' + assert_response :success + assert_select '#search-results' do + assert_select 'dt.issue a', :text => /<subject>/ + assert_select 'dd', :text => /<description>/ + end + end + + def test_keywords_should_be_highlighted + assert Issue.find(1).update_attributes(:subject => 'subject highlighted', :description => 'description highlighted') + get :index, :q => 'highlighted' + assert_response :success + assert_select '#search-results' do + assert_select 'dt.issue a span.highlight', :text => 'highlighted' + assert_select 'dd span.highlight', :text => 'highlighted' + end + end end |