Fixed: Wiki headings containing backslash followed by a digit are not displayed correctly (#7846).
Contributed by Etienne Massip. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5100 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
1423890735
commit
7db930f1b4
|
@ -707,11 +707,13 @@ class RedCloth3 < String
|
|||
atts = pba( atts )
|
||||
|
||||
# pass to prefix handler
|
||||
replacement = nil
|
||||
if respond_to? "textile_#{ tag }", true
|
||||
text.gsub!( $&, method( "textile_#{ tag }" ).call( tag, atts, cite, content ) )
|
||||
replacement = method( "textile_#{ tag }" ).call( tag, atts, cite, content )
|
||||
elsif respond_to? "textile_#{ tagpre }_", true
|
||||
text.gsub!( $&, method( "textile_#{ tagpre }_" ).call( tagpre, num, atts, cite, content ) )
|
||||
replacement = method( "textile_#{ tagpre }_" ).call( tagpre, num, atts, cite, content )
|
||||
end
|
||||
text.gsub!( $& ) { replacement } if replacement
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -64,12 +64,18 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
|||
'@<Location /redmine>@' => '<code><Location /redmine></code>'
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
def test_escaping
|
||||
assert_html_output(
|
||||
'this is a <script>' => 'this is a <script>'
|
||||
)
|
||||
end
|
||||
|
||||
def test_use_of_backslashes_followed_by_numbers_in_headers
|
||||
assert_html_output({
|
||||
'h1. 2009\02\09' => '<h1>2009\02\09</h1>'
|
||||
}, false)
|
||||
end
|
||||
|
||||
def test_double_dashes_should_not_strikethrough
|
||||
assert_html_output(
|
||||
|
@ -88,9 +94,9 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
|||
|
||||
private
|
||||
|
||||
def assert_html_output(to_test)
|
||||
def assert_html_output(to_test, expect_paragraph = true)
|
||||
to_test.each do |text, expected|
|
||||
assert_equal "<p>#{expected}</p>", @formatter.new(text).to_html, "Formatting the following text failed:\n===\n#{text}\n===\n"
|
||||
assert_equal(( expect_paragraph ? "<p>#{expected}</p>" : expected ), @formatter.new(text).to_html, "Formatting the following text failed:\n===\n#{text}\n===\n")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue