Commit 1405d7ecdc989a9046fac7a5de0899c59ffd3aee
1 parent
bd3eb276
Exists in
master
and in
1 other branch
Fix double escaping of problem title in list view
Also added a spec to test for double escaping which fails without the changes to truncated_problem_message.
Showing
2 changed files
with
8 additions
and
1 deletions
Show diff stats
app/helpers/problems_helper.rb
| ... | ... | @@ -6,7 +6,7 @@ module ProblemsHelper |
| 6 | 6 | def truncated_problem_message(problem) |
| 7 | 7 | unless (msg = problem.message).blank? |
| 8 | 8 | # Truncate & insert invisible chars so that firefox can emulate 'word-wrap: break-word' CSS rule |
| 9 | - truncate(msg, :length => 300).scan(/.{1,5}/).map { |s| h(s) }.join("​").html_safe | |
| 9 | + truncate(msg, :length => 300, :escape => false).scan(/.{1,5}/).map { |s| h(s) }.join("​").html_safe | |
| 10 | 10 | end |
| 11 | 11 | end |
| 12 | 12 | ... | ... |
spec/helpers/problems_helper_spec.rb
| ... | ... | @@ -8,6 +8,13 @@ describe ProblemsHelper do |
| 8 | 8 | expect(truncated).to be_html_safe |
| 9 | 9 | expect(truncated).to_not include('<', '>') |
| 10 | 10 | end |
| 11 | + | |
| 12 | + it 'does not double escape html' do | |
| 13 | + problem = double('problem', :message => '#<NoMethodError: ...>') | |
| 14 | + truncated = helper.truncated_problem_message(problem) | |
| 15 | + expect(truncated).to be_html_safe | |
| 16 | + expect(truncated).to_not include('&') | |
| 17 | + end | |
| 11 | 18 | end |
| 12 | 19 | |
| 13 | 20 | describe "#gravatar_tag" do | ... | ... |