From 1405d7ecdc989a9046fac7a5de0899c59ffd3aee Mon Sep 17 00:00:00 2001 From: Felix Bùˆnemann Date: Tue, 6 Jan 2015 19:22:27 +0100 Subject: [PATCH] Fix double escaping of problem title in list view --- app/helpers/problems_helper.rb | 2 +- spec/helpers/problems_helper_spec.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/helpers/problems_helper.rb b/app/helpers/problems_helper.rb index e2c11d6..c8b4bf8 100644 --- a/app/helpers/problems_helper.rb +++ b/app/helpers/problems_helper.rb @@ -6,7 +6,7 @@ module ProblemsHelper def truncated_problem_message(problem) unless (msg = problem.message).blank? # Truncate & insert invisible chars so that firefox can emulate 'word-wrap: break-word' CSS rule - truncate(msg, :length => 300).scan(/.{1,5}/).map { |s| h(s) }.join("​").html_safe + truncate(msg, :length => 300, :escape => false).scan(/.{1,5}/).map { |s| h(s) }.join("​").html_safe end end diff --git a/spec/helpers/problems_helper_spec.rb b/spec/helpers/problems_helper_spec.rb index 9fb170d..cb46e03 100644 --- a/spec/helpers/problems_helper_spec.rb +++ b/spec/helpers/problems_helper_spec.rb @@ -8,6 +8,13 @@ describe ProblemsHelper do expect(truncated).to be_html_safe expect(truncated).to_not include('<', '>') end + + it 'does not double escape html' do + problem = double('problem', :message => '#') + truncated = helper.truncated_problem_message(problem) + expect(truncated).to be_html_safe + expect(truncated).to_not include('&') + end end describe "#gravatar_tag" do -- libgit2 0.21.2