summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2013-01-10 22:05:22 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2013-01-10 22:05:22 +0000
commit956239fc855ae3f7ac4880bba2a4663b2c9a9cc9 (patch)
tree564a48a76841be7e63beab39aa1f61cedccb18e9
parent18061b641fe8671d4fd28c8ab3adfa2fe12f19aa (diff)
downloadredmine-956239fc855ae3f7ac4880bba2a4663b2c9a9cc9.tar.gz
redmine-956239fc855ae3f7ac4880bba2a4663b2c9a9cc9.zip
Fixed: Cannot edit a wiki section which title starts with a tab (#12799).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11159 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--lib/redmine/wiki_formatting/textile/formatter.rb2
-rw-r--r--test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb14
2 files changed, 15 insertions, 1 deletions
diff --git a/lib/redmine/wiki_formatting/textile/formatter.rb b/lib/redmine/wiki_formatting/textile/formatter.rb
index b06ee64e7..8fc8e3448 100644
--- a/lib/redmine/wiki_formatting/textile/formatter.rb
+++ b/lib/redmine/wiki_formatting/textile/formatter.rb
@@ -69,7 +69,7 @@ module Redmine
l = 1
started = false
ended = false
- text.scan(/(((?:.*?)(\A|\r?\n\s*\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+))?[ \t](.*?)$)|.*)/m).each do |all, content, lf, heading, level|
if heading.nil?
if ended
after << all
diff --git a/test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb b/test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb
index 26f9993d0..88242f54f 100644
--- a/test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb
+++ b/test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb
@@ -419,6 +419,20 @@ STR
end
end
+ def test_get_section_should_support_headings_starting_with_a_tab
+ text = <<-STR
+h1.\tHeading 1
+
+Content 1
+
+h1. Heading 2
+
+Content 2
+STR
+
+ assert_match /\Ah1.\tHeading 1\s+Content 1\z/, @formatter.new(text).get_section(1).first
+ end
+
private
def assert_html_output(to_test, expect_paragraph = true)