diff options
-rw-r--r-- | lib/redmine/wiki_formatting/textile/formatter.rb | 3 | ||||
-rw-r--r-- | test/unit/helpers/application_helper_test.rb | 2 |
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 70ddb13d7..77fe8014e 100644 --- a/lib/redmine/wiki_formatting/textile/formatter.rb +++ b/lib/redmine/wiki_formatting/textile/formatter.rb @@ -67,6 +67,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 a15b51807..a49ab58d3 100644 --- a/test/unit/helpers/application_helper_test.rb +++ b/test/unit/helpers/application_helper_test.rb @@ -364,6 +364,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">' + @@ -372,6 +373,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) |