From aa87a73e413070799f450f496ad7a9d57a84a5a0 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Mon, 26 May 2008 19:39:51 +0000 Subject: [PATCH] No multiline text for textile links. git-svn-id: http://redmine.rubyforge.org/svn/trunk@1463 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/redcloth.rb | 2 +- lib/redmine/wiki_formatting.rb | 2 +- test/unit/helpers/application_helper_test.rb | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/redcloth.rb b/lib/redcloth.rb index f94c9573..fb6a053c 100644 --- a/lib/redcloth.rb +++ b/lib/redcloth.rb @@ -764,7 +764,7 @@ class RedCloth < String ([\s\[{(]|[#{PUNCT}])? # $pre " # start (#{C}) # $atts - ([^"]+?) # $text + ([^"\n]+?) # $text \s? (?:\(([^)]+?)\)(?="))? # $title ": diff --git a/lib/redmine/wiki_formatting.rb b/lib/redmine/wiki_formatting.rb index 8866e8cd..3c1eac02 100644 --- a/lib/redmine/wiki_formatting.rb +++ b/lib/redmine/wiki_formatting.rb @@ -45,7 +45,7 @@ module Redmine # Patch for RedCloth. Fixed in RedCloth r128 but _why hasn't released it yet. # http://code.whytheluckystiff.net/redcloth/changeset/128 def hard_break( text ) - text.gsub!( /(.)\n(?!\n|\Z| *([#*=]+(\s|$)|[{|]))/, "\\1
" ) if hard_breaks + text.gsub!( /(.)\n(?!\n|\Z| *([#*=]+(\s|$)|[{|]))/, "\\1
\n" ) if hard_breaks end # Patch to add code highlighting support to RedCloth diff --git a/test/unit/helpers/application_helper_test.rb b/test/unit/helpers/application_helper_test.rb index 25559ebc..ffee28b0 100644 --- a/test/unit/helpers/application_helper_test.rb +++ b/test/unit/helpers/application_helper_test.rb @@ -58,7 +58,9 @@ class ApplicationHelperTest < HelperTestCase to_test = { 'This is a "link":http://foo.bar' => 'This is a link', 'This is an intern "link":/foo/bar' => 'This is an intern link', - '"link (Link title)":http://foo.bar' => 'link' + '"link (Link title)":http://foo.bar' => 'link', + # no multiline link text + "This is a double quote \"on the first line\nand another on a second line\":test" => "This is a double quote \"on the first line
\nand another on a second line\":test" } to_test.each { |text, result| assert_equal "

#{result}

", textilizable(text) } end