diff options
-rw-r--r-- | lib/redcloth3.rb | 2 | ||||
-rw-r--r-- | test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb | 22 |
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: |