]> source.dussan.org Git - redmine.git/commitdiff
Fixed that search results are escaped twice.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 10 Aug 2012 16:22:26 +0000 (16:22 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 10 Aug 2012 16:22:26 +0000 (16:22 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10185 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/views/search/index.html.erb
test/functional/search_controller_test.rb

index bf3951263006b20faeaa6a36ffa4d53928f66029..d4d671aa94a106d8a49771db64575c62952afb61 100644 (file)
@@ -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>
index fc40ce2f0cd6cdcf0318fb226a8c920ed80503ad..9491750bb27b17e580111bae1f2ec94adf03bbdf 100644 (file)
@@ -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 => /&lt;subject&gt;/
+      assert_select 'dd', :text => /&lt;description&gt;/
+    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