Fixed that lines with spaces only before headings break wiki section extraction (#11133).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9822 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2012-06-11 17:51:14 +00:00
parent 462d0ddfe8
commit 965ef33192
2 changed files with 26 additions and 1 deletions

View File

@ -69,7 +69,7 @@ module Redmine
l = 1 l = 1
started = false started = false
ended = false ended = false
text.scan(/(((?:.*?)(\A|\r?\n\r?\n))(h(\d+)(#{A}#{C})\.(?::(\S+))? (.*?)$)|.*)/m).each do |all, content, lf, heading, level| text.scan(/(((?:.*?)(\A|\r?\n\s*\r?\n))(h(\d+)(#{A}#{C})\.(?::(\S+))? (.*?)$)|.*)/m).each do |all, content, lf, heading, level|
if heading.nil? if heading.nil?
if ended if ended
after << all after << all

View File

@ -394,6 +394,31 @@ Nulla nunc nisi, egestas in ornare vel, posuere ac libero."]
@formatter.new(text).update_section(3, replacement) @formatter.new(text).update_section(3, replacement)
end end
def test_get_section_should_support_lines_with_spaces_before_heading
# the lines after Content 2 and Heading 4 contain a space
text = <<-STR
h1. Heading 1
Content 1
h1. Heading 2
Content 2
h1. Heading 3
Content 3
h1. Heading 4
Content 4
STR
[1, 2, 3, 4].each do |index|
assert_match /\Ah1. Heading #{index}.+Content #{index}/m, @formatter.new(text).get_section(index).first
end
end
private private
def assert_html_output(to_test, expect_paragraph = true) def assert_html_output(to_test, expect_paragraph = true)