summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/redcloth3.rb2
-rw-r--r--test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb22
2 files changed, 23 insertions, 1 deletions
diff --git a/lib/redcloth3.rb b/lib/redcloth3.rb
index 0c44346d0..f9c9054b8 100644
--- a/lib/redcloth3.rb
+++ b/lib/redcloth3.rb
@@ -525,7 +525,7 @@ class RedCloth3 < String
tatts = pba( tatts, 'table' )
tatts = shelve( tatts ) if tatts
rows = []
- fullrow.gsub!(/([^|])\n/, "\\1<br />")
+ fullrow.gsub!(/([^|\s])\s*\n/, "\\1<br />")
fullrow.each_line do |row|
ratts, row = pba( $1, 'tr' ), $2 if row =~ /^(#{A}#{C}\. )(.*)/m
cells = []
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 6d816537e..65a91b20a 100644
--- a/test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb
+++ b/test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb
@@ -249,6 +249,28 @@ EXPECTED
assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
end
+ def test_table_with_trailing_whitespace
+ raw = <<-RAW
+This is a table with trailing whitespace in one row:
+
+|cell11|cell12|
+|cell21|cell22|
+|cell31|cell32|
+RAW
+
+ expected = <<-EXPECTED
+<p>This is a table with trailing whitespace in one row:</p>
+
+<table>
+ <tr><td>cell11</td><td>cell12</td></tr>
+ <tr><td>cell21</td><td>cell22</td></tr>
+ <tr><td>cell31</td><td>cell32</td></tr>
+</table>
+EXPECTED
+
+ assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
+ end
+
def test_table_with_line_breaks
raw = <<-RAW
This is a table with line breaks: