]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'openstreetmap/pull/1349'
authorTom Hughes <tom@compton.nu>
Sat, 29 Oct 2016 17:08:31 +0000 (18:08 +0100)
committerTom Hughes <tom@compton.nu>
Sat, 29 Oct 2016 17:08:31 +0000 (18:08 +0100)
app/views/diary_entry/rss.rss.builder
test/controllers/diary_entry_controller_test.rb

index 6ccd214382eaeac46a3a95cebd6670f009bb5243..d9cc40797eae0653c7a02b1648fd600531460dd6 100644 (file)
@@ -17,7 +17,7 @@ xml.rss("version" => "2.0",
 
     @entries.each do |entry|
       xml.item do
-        xml.title h(entry.title)
+        xml.title entry.title
         xml.link url_for(:action => "view", :id => entry.id, :display_name => entry.user.display_name, :host => SERVER_URL)
         xml.guid url_for(:action => "view", :id => entry.id, :display_name => entry.user.display_name, :host => SERVER_URL)
         xml.description entry.body.to_html
index 6e766460ee97770d1e261b0027c57d88f135036b..4a8451e89b2a044edc3e212f8ee529327c61470e 100644 (file)
@@ -563,6 +563,13 @@ class DiaryEntryControllerTest < ActionController::TestCase
     assert_response :not_found, "Should not be able to get a deleted users diary RSS"
   end
 
+  def test_rss_character_escaping
+    create(:diary_entry, :title => "<script>")
+    get :rss, :format => :rss
+
+    assert_match "<title>&lt;script&gt;</title>", response.body
+  end
+
   def test_view
     # Try a normal entry that should work
     diary_entry = create(:diary_entry, :user => users(:normal_user))