The actual link should be URI escaped, not HTML escaped.

This commit is contained in:
Steven R. Baker 2019-05-13 18:59:39 +02:00
parent e84d82e5c8
commit 1461a3a10c
2 changed files with 4 additions and 3 deletions

View file

@ -13,7 +13,7 @@ module RenderingHelper
# do not change string; URL is already linked
href
else
content_tag(:a, h(href), :href => h(href))
content_tag(:a, h(href), :href => URI.escape(href))
end
end
end

View file

@ -28,12 +28,13 @@ class RenderingHelperTest < ActionView::TestCase
end
test "message link" do
expected = '<p>Call <a href="message://%3C123%3E">message://&lt;123&gt;</a>.</p>'
actual = render_text("Call message://<123>.")
assert_equal('<p>Call <a href="message://&lt;123&gt;">message://&lt;123&gt;</a>.</p>', actual)
assert_equal(expected, actual)
end
test "tagged message link" do
expected = '<p>This message is already tagged: <a href="message://&lt;12345&gt;">Call bob</a>.</p>'
expected = '<p>This message is already tagged: <a href="message://%3C12345%3E">Call bob</a>.</p>'
actual = render_text(expected)
assert_equal(expected, actual)
end