]> source.dussan.org Git - redmine.git/commitdiff
Display the link name when external links are used in the toc macro. #5445
authorEric Davis <edavis@littlestreamsoftware.com>
Sat, 19 Jun 2010 21:39:21 +0000 (21:39 +0000)
committerEric Davis <edavis@littlestreamsoftware.com>
Sat, 19 Jun 2010 21:39:21 +0000 (21:39 +0000)
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

lib/redmine/wiki_formatting/textile/formatter.rb
test/unit/helpers/application_helper_test.rb

index 7645e02068b48c48c0d4344ee96c55cca219b75a..abffdbcbfec55f675628e15d838a1fab3ffc2923 100644 (file)
@@ -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'
index ac3e784378b3319b1a6a83e12703fd955764972d..534135ecdc00edf4fe85d20791723fea9d892ae2 100644 (file)
@@ -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)