Wiki links:
* fixes wiki links with pipe in table (closes #893, #870, #894) * prevent wiki link matching on multiple lines git-svn-id: http://redmine.rubyforge.org/svn/trunk@1280 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
bbf422e229
commit
35a14cbfdc
|
@ -239,7 +239,7 @@ module ApplicationHelper
|
||||||
# [[project:|mytext]]
|
# [[project:|mytext]]
|
||||||
# [[project:mypage]]
|
# [[project:mypage]]
|
||||||
# [[project:mypage|mytext]]
|
# [[project:mypage|mytext]]
|
||||||
text = text.gsub(/(!)?(\[\[([^\]\|]+)(\|([^\]\|]+))?\]\])/) do |m|
|
text = text.gsub(/(!)?(\[\[([^\]\n\|]+)(\|([^\]\n\|]+))?\]\])/) do |m|
|
||||||
link_project = project
|
link_project = project
|
||||||
esc, all, page, title = $1, $2, $3, $5
|
esc, all, page, title = $1, $2, $3, $5
|
||||||
if esc.nil?
|
if esc.nil?
|
||||||
|
|
|
@ -510,7 +510,8 @@ class RedCloth < String
|
||||||
ratts, row = pba( $1, 'tr' ), $2 if row =~ /^(#{A}#{C}\. )(.*)/m
|
ratts, row = pba( $1, 'tr' ), $2 if row =~ /^(#{A}#{C}\. )(.*)/m
|
||||||
|
|
||||||
cells = []
|
cells = []
|
||||||
row.split( '|' ).each do |cell|
|
#row.split( /\(?!\[\[[^\]])|(?![^\[]\]\])/ ).each do |cell|
|
||||||
|
row.split( /\|(?![^\[\|]*\]\])/ ).each do |cell|
|
||||||
ctyp = 'd'
|
ctyp = 'd'
|
||||||
ctyp = 'h' if cell =~ /^_/
|
ctyp = 'h' if cell =~ /^_/
|
||||||
|
|
||||||
|
|
|
@ -142,7 +142,21 @@ class ApplicationHelperTest < HelperTestCase
|
||||||
"<pre><div>content</div></pre>" => "<pre><div>content</div></pre>",
|
"<pre><div>content</div></pre>" => "<pre><div>content</div></pre>",
|
||||||
}
|
}
|
||||||
to_test.each { |text, result| assert_equal result, textilizable(text) }
|
to_test.each { |text, result| assert_equal result, textilizable(text) }
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_wiki_links_in_tables
|
||||||
|
to_test = {"|Cell 11|Cell 12|Cell 13|\n|Cell 21|Cell 22||\n|Cell 31||Cell 33|" =>
|
||||||
|
'<tr><td>Cell 11</td><td>Cell 12</td><td>Cell 13</td></tr>' +
|
||||||
|
'<tr><td>Cell 21</td><td>Cell 22</td></tr>' +
|
||||||
|
'<tr><td>Cell 31</td><td>Cell 33</td></tr>',
|
||||||
|
|
||||||
|
"|[[Page|Link title]]|[[Other Page|Other title]]|\n|Cell 21|[[Last page]]|" =>
|
||||||
|
'<tr><td><a href="/wiki/ecookbook/Page" class="wiki-page new">Link title</a></td>' +
|
||||||
|
'<td><a href="/wiki/ecookbook/Other_Page" class="wiki-page new">Other title</a></td>' +
|
||||||
|
'</tr><tr><td>Cell 21</td><td><a href="/wiki/ecookbook/Last_page" class="wiki-page new">Last page</a></td></tr>'
|
||||||
|
}
|
||||||
|
@project = Project.find(1)
|
||||||
|
to_test.each { |text, result| assert_equal "<table>#{result}</table>", textilizable(text).gsub(/[\t\n]/, '') }
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_macro_hello_world
|
def test_macro_hello_world
|
||||||
|
|
Loading…
Reference in New Issue