diff --git a/app/helpers/errs_helper.rb b/app/helpers/errs_helper.rb index 84d5df4..210fd64 100644 --- a/app/helpers/errs_helper.rb +++ b/app/helpers/errs_helper.rb @@ -7,10 +7,10 @@ module ErrsHelper Errbit::Config.confirm_resolve_err === false ? nil : 'Seriously?' end - def trucated_err_message(problem) + def truncated_err_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}/).join("​").html_safe + truncate(msg, :length => 300).scan(/.{1,5}/).map { |s| h(s) }.join("​").html_safe end end end diff --git a/app/views/errs/_table.html.haml b/app/views/errs/_table.html.haml index 51095ad..c5dbc34 100644 --- a/app/views/errs/_table.html.haml +++ b/app/views/errs/_table.html.haml @@ -24,7 +24,7 @@ - else %span.environment= link_to problem.environment, app_path(problem.app, :environment => problem.environment) %td.message - = link_to trucated_err_message(problem), app_err_path(problem.app, problem) + = link_to truncated_err_message(problem), app_err_path(problem.app, problem) %em= problem.where - if problem.comments_count > 0 - comment = problem.comments.last diff --git a/spec/helpers/errs_helper_spec.rb b/spec/helpers/errs_helper_spec.rb new file mode 100644 index 0000000..2eaa921 --- /dev/null +++ b/spec/helpers/errs_helper_spec.rb @@ -0,0 +1,12 @@ +require 'spec_helper' + +describe ErrsHelper do + describe '#truncated_err_message' do + it 'is html safe' do + problem = double('problem', :message => '#') + truncated = helper.truncated_err_message(problem) + truncated.should be_html_safe + truncated.should_not include('<', '>') + end + end +end -- libgit2 0.21.2