[fix #1014] strip html tags in annotations_privees

This commit is contained in:
Simon Lehericey 2017-12-11 12:40:12 +01:00
parent 6e97209b82
commit a05217b364
3 changed files with 32 additions and 1 deletions

View file

@ -0,0 +1,10 @@
module HtmlToStringHelper
def html_to_string(html)
string_with_tags = html
.gsub(/<br[ ]?[\/]?>/, "\n")
.gsub('</p>', "\n")
.gsub('<p>', '')
strip_tags(string_with_tags)
end
end

View file

@ -4,4 +4,4 @@
row: 6,
placeholder: champ.description,
required: champ.mandatory,
value: sanitize(champ.value)
value: html_to_string(champ.value)

View file

@ -0,0 +1,21 @@
describe HtmlToStringHelper do
describe "#html_to_string" do
describe 'does not change plain text' do
it { expect(helper.html_to_string('text')).to eq('text') }
end
describe 'deals with <br>' do
it { expect(helper.html_to_string('new<br>line')).to eq("new\nline") }
it { expect(helper.html_to_string('new<br/>line')).to eq("new\nline") }
it { expect(helper.html_to_string('new<br />line')).to eq("new\nline") }
end
describe 'deals with <p>' do
it { expect(helper.html_to_string('<p>p1</p><p>p2</p>')).to eq("p1\np2\n") }
end
describe 'strip other tags' do
it { expect(helper.html_to_string('<i>italic</i>')).to eq('italic') }
end
end
end