summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Davis <edavis@littlestreamsoftware.com>2010-06-19 21:39:21 +0000
committerEric Davis <edavis@littlestreamsoftware.com>2010-06-19 21:39:21 +0000
commitb53de502ab60930af81bd268aa572e1fb5fe19d3 (patch)
tree6e5046531c95f8aee52cd651dc97cbb2237b6a8d
parent69d9600f48d8ca89458165bc059e3ce00b7527bf (diff)
downloadredmine-b53de502ab60930af81bd268aa572e1fb5fe19d3.tar.gz
redmine-b53de502ab60930af81bd268aa572e1fb5fe19d3.zip
Display the link name when external links are used in the toc macro. #5445
Contributed by Yuki Kita and Jean-Baptiste Barth git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3786 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--lib/redmine/wiki_formatting/textile/formatter.rb3
-rw-r--r--test/unit/helpers/application_helper_test.rb2
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/redmine/wiki_formatting/textile/formatter.rb b/lib/redmine/wiki_formatting/textile/formatter.rb
index 7645e0206..abffdbcbf 100644
--- a/lib/redmine/wiki_formatting/textile/formatter.rb
+++ b/lib/redmine/wiki_formatting/textile/formatter.rb
@@ -65,6 +65,9 @@ module Redmine
def textile_p_withtoc(tag, atts, cite, content)
# removes wiki links from the item
toc_item = content.gsub(/(\[\[([^\]\|]*)(\|([^\]]*))?\]\])/) { $4 || $2 }
+ # sanitizes titles from links
+ # see redcloth3.rb, same as "#{pre}#{text}#{post}"
+ toc_item.gsub!(LINK_RE) { $2+$4+$9 }
# removes styles
# eg. %{color:red}Triggers% => Triggers
toc_item.gsub! %r[%\{[^\}]*\}([^%]+)%], '\\1'
diff --git a/test/unit/helpers/application_helper_test.rb b/test/unit/helpers/application_helper_test.rb
index ac3e78437..534135ecd 100644
--- a/test/unit/helpers/application_helper_test.rb
+++ b/test/unit/helpers/application_helper_test.rb
@@ -420,6 +420,7 @@ h2. Subtitle with %{color:red}red text%
h1. Another title
+h2. An "Internet link":http://www.redmine.org/ inside subtitle
RAW
expected = '<ul class="toc">' +
@@ -428,6 +429,7 @@ RAW
'<li class="heading2"><a href="#Subtitle-with-another-Wiki-link">Subtitle with another Wiki link</a></li>' +
'<li class="heading2"><a href="#Subtitle-with-red-text">Subtitle with red text</a></li>' +
'<li class="heading1"><a href="#Another-title">Another title</a></li>' +
+ '<li class="heading2"><a href="#An-Internet-link-inside-subtitle">An Internet link inside subtitle</a></li>' +
'</ul>'
assert textilizable(raw).gsub("\n", "").include?(expected)