Merge pull request #5241 from betagouv/fix-links-detection
Usager : correction de certains textes faussement détectés comme des liens
This commit is contained in:
commit
797b8afba0
2 changed files with 14 additions and 3 deletions
|
@ -1,7 +1,7 @@
|
||||||
module StringToHtmlHelper
|
module StringToHtmlHelper
|
||||||
def string_to_html(str, wrapper_tag = 'p')
|
def string_to_html(str, wrapper_tag = 'p')
|
||||||
html_formatted = simple_format(str, {}, { wrapper_tag: wrapper_tag })
|
html_formatted = simple_format(str, {}, { wrapper_tag: wrapper_tag })
|
||||||
with_links = html_formatted.gsub(URI.regexp, '<a target="_blank" rel="noopener" href="\0">\0</a>')
|
with_links = Anchored::Linker.auto_link(html_formatted, target: '_blank', rel: 'noopener')
|
||||||
sanitize(with_links, attributes: ['target', 'rel', 'href'])
|
sanitize(with_links, attributes: ['target', 'rel', 'href'])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -9,9 +9,20 @@ RSpec.describe StringToHtmlHelper, type: :helper do
|
||||||
end
|
end
|
||||||
|
|
||||||
context "with a link" do
|
context "with a link" do
|
||||||
let(:description) { "https://d-s.fr" }
|
context "using an authorized scheme" do
|
||||||
|
let(:description) { "Cliquez sur https://d-s.fr pour continuer." }
|
||||||
|
it { is_expected.to eq("<p>Cliquez sur <a href=\"https://d-s.fr\" target=\"_blank\" rel=\"noopener\">https://d-s.fr</a> pour continuer.</p>") }
|
||||||
|
end
|
||||||
|
|
||||||
it { is_expected.to eq("<p><a target=\"_blank\" rel=\"noopener\" href=\"https://d-s.fr\">https://d-s.fr</a></p>") }
|
context "using a non-authorized scheme" do
|
||||||
|
let(:description) { "Cliquez sur file://etc/password pour continuer." }
|
||||||
|
it { is_expected.to eq("<p>Cliquez sur file://etc/password pour continuer.</p>") }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "not actually an URL" do
|
||||||
|
let(:description) { "Pour info: il ne devrait y avoir aucun lien." }
|
||||||
|
it { is_expected.to eq("<p>Pour info: il ne devrait y avoir aucun lien.</p>") }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "with empty decription" do
|
context "with empty decription" do
|
||||||
|
|
Loading…
Reference in a new issue