From: Tom Hughes Date: Wed, 18 Jun 2014 08:25:01 +0000 (+0100) Subject: Decode entities in the title X-Git-Tag: live~4403 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/aa00e6b81e007a44eceb8d1a1d70b9b99ec4bc3a?ds=sidebyside Decode entities in the title They will get reencoded (if necessary) when they are output. Fixes #764. --- diff --git a/app/helpers/title_helper.rb b/app/helpers/title_helper.rb index 8cacdf208..a1a2125a1 100644 --- a/app/helpers/title_helper.rb +++ b/app/helpers/title_helper.rb @@ -1,7 +1,11 @@ +require 'htmlentities' + module TitleHelper + @@coder = HTMLEntities.new + def set_title(title = false) if title - @title = title.gsub("", "\u202a").gsub("", "\u202c") + @title = @@coder.decode(title.gsub("", "\u202a").gsub("", "\u202c")) response.headers["X-Page-Title"] = t('layouts.project_name.title') + ' | ' + @title else @title = title diff --git a/test/helpers/title_helper_test.rb b/test/helpers/title_helper_test.rb index cf7a11243..11578cc11 100644 --- a/test/helpers/title_helper_test.rb +++ b/test/helpers/title_helper_test.rb @@ -9,5 +9,9 @@ class TitleHelperTest < ActionView::TestCase set_title("Test Title") assert_equal "OpenStreetMap | Test Title", response.header["X-Page-Title"] assert_equal "Test Title", @title + + set_title("Test & Title") + assert_equal "OpenStreetMap | Test & Title", response.header["X-Page-Title"] + assert_equal "Test & Title", @title end end