mirror of
https://github.com/redmine/redmine.git
synced 2025-11-01 02:46:13 +01:00
Comments for Textile text formatting (#20511).
Patch by Go MAEDA. git-svn-id: http://svn.redmine.org/redmine/trunk@21457 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -298,6 +298,7 @@ class RedCloth3 < String
|
||||
@pre_list = []
|
||||
rip_offtags text
|
||||
no_textile text
|
||||
remove_html_comments text
|
||||
escape_html_tags text
|
||||
# need to do this before #hard_break and #blocks
|
||||
block_textile_quotes text unless @lite_mode
|
||||
@@ -1217,4 +1218,8 @@ class RedCloth3 < String
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def remove_html_comments(text)
|
||||
text.gsub!(/<!--[\s\S]*?-->/, '')
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1300,7 +1300,6 @@ class ApplicationHelperTest < Redmine::HelperTest
|
||||
"<pre>\nline 1\nline2</pre>" => "<pre>\nline 1\nline2</pre>",
|
||||
"<pre><code>\nline 1\nline2</code></pre>" => "<pre><code>\nline 1\nline2</code></pre>",
|
||||
"<pre><div>content</div></pre>" => "<pre><div>content</div></pre>",
|
||||
"HTML comment: <!-- no comments -->" => "<p>HTML comment: <!-- no comments --></p>",
|
||||
"<!-- opening comment" => "<p><!-- opening comment</p>",
|
||||
# remove attributes including class
|
||||
"<pre class='foo'>some text</pre>" => "<pre>some text</pre>",
|
||||
|
||||
@@ -719,6 +719,38 @@ class Redmine::WikiFormatting::TextileFormatterTest < ActionView::TestCase
|
||||
assert_equal expected.gsub(%r{[\r\n\t]}, ''), to_html(text).gsub(%r{[\r\n\t]}, '')
|
||||
end
|
||||
|
||||
def test_should_remove_html_comments
|
||||
text = <<~STR
|
||||
<!-- begin -->
|
||||
Hello <!-- comment between words -->world.
|
||||
|
||||
<!--
|
||||
multi-line
|
||||
comment -->Foo
|
||||
|
||||
<pre>
|
||||
This is a code block.
|
||||
<p>
|
||||
<!-- comments in a code block should be preserved -->
|
||||
</p>
|
||||
</pre>
|
||||
STR
|
||||
expected = <<~EXPECTED
|
||||
<p>Hello world.</p>
|
||||
|
||||
<p>Foo</p>
|
||||
|
||||
<pre>
|
||||
This is a code block.
|
||||
<p>
|
||||
<!-- comments in a code block should be preserved -->
|
||||
</p>
|
||||
</pre>
|
||||
|
||||
EXPECTED
|
||||
assert_equal expected.gsub(%r{[\r\n\t]}, ''), to_html(text).gsub(%r{[\r\n\t]}, '')
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def assert_html_output(to_test, expect_paragraph = true)
|
||||
|
||||
Reference in New Issue
Block a user