diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index e46008d45..9cb5b9687 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -822,6 +822,7 @@ module ApplicationHelper elsif sep == ':' # removes the double quotes if any name = identifier.gsub(%r{^"(.*)"$}, "\\1") + name = CGI.unescapeHTML(name) case prefix when 'document' if project && document = project.documents.visible.find_by_title(name) diff --git a/test/unit/helpers/application_helper_test.rb b/test/unit/helpers/application_helper_test.rb index 1b58e88d5..58b19f02d 100644 --- a/test/unit/helpers/application_helper_test.rb +++ b/test/unit/helpers/application_helper_test.rb @@ -436,6 +436,14 @@ RAW end end + def test_redmine_links_by_name_should_work_with_html_escaped_characters + v = Version.generate!(:name => "Test & Show.txt", :project_id => 1) + link = link_to("Test & Show.txt", "/versions/#{v.id}", :class => "version") + + @project = v.project + assert_equal "

#{link}

", textilizable('version:"Test & Show.txt"') + end + def test_link_to_issue_subject issue = Issue.generate!(:subject => "01234567890123456789") str = link_to_issue(issue, :truncate => 10)