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:
Go MAEDA
2022-03-17 03:55:24 +00:00
parent 2d6f552599
commit b51d40fe38
3 changed files with 37 additions and 1 deletions

View File

@@ -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

View File

@@ -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>&lt;div&gt;content&lt;/div&gt;</pre>",
"HTML comment: <!-- no comments -->" => "<p>HTML comment: &lt;!-- no comments --&gt;</p>",
"<!-- opening comment" => "<p>&lt;!-- opening comment</p>",
# remove attributes including class
"<pre class='foo'>some text</pre>" => "<pre>some text</pre>",

View File

@@ -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.
&lt;p&gt;
&lt;!-- comments in a code block should be preserved --&gt;
&lt;/p&gt;
</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)