mirror of
https://github.com/meineerde/redmine.git
synced 2026-02-06 09:03:25 +00:00
Text may unexpectedly be enclosed in pre tags when an issue is created via HTML email (#31232).
Patch by Go MAEDA. git-svn-id: http://svn.redmine.org/redmine/trunk@18268 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
b9cbfb2846
commit
c0a638721c
@ -30,13 +30,13 @@ module Redmine
|
||||
}
|
||||
|
||||
def self.to_text(html)
|
||||
html = html.gsub(/[\n\r]/, '').squeeze(' ')
|
||||
html = html.gsub(/[\n\r]/, ' ')
|
||||
|
||||
doc = Loofah.document(html)
|
||||
doc.scrub!(WikiTags.new(tags))
|
||||
doc.scrub!(:newline_block_elements)
|
||||
|
||||
Loofah.remove_extraneous_whitespace(doc.text).strip
|
||||
Loofah.remove_extraneous_whitespace(doc.text).strip.squeeze(' ').gsub(/^ +/, '')
|
||||
end
|
||||
|
||||
class WikiTags < ::Loofah::Scrubber
|
||||
|
||||
@ -34,4 +34,16 @@ class Redmine::WikiFormatting::HtmlParserTest < ActiveSupport::TestCase
|
||||
assert_equal "Text",
|
||||
@parser.to_text('<html><body><style>body {font-size: 0.8em;}</style>Text</body></html>')
|
||||
end
|
||||
|
||||
def test_should_remove_preceding_whitespaces
|
||||
to_test = {
|
||||
"<div> blocks with</div>\n<p>\n preceding whitespaces\n</p>" => "blocks with\n\npreceding whitespaces",
|
||||
"<div>blocks without</div>\n<p>\npreceding whitespaces\n</p>" => "blocks without\n\npreceding whitespaces",
|
||||
"<span> span with</span>\n<span> preceding whitespaces</span>" => "span with preceding whitespaces",
|
||||
"<span>span without</span>\n<span>preceding whitespaces</span>" => "span without preceding whitespaces"
|
||||
}
|
||||
to_test.each do |html, expected|
|
||||
assert_equal expected, @parser.to_text(html)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user