summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2013-02-24 12:56:50 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2013-02-24 12:56:50 +0000
commit5b4a9ac3b3aaa80bbdfb527f1b1401d93e788471 (patch)
tree7f6b6f9a70205992311f1b40dfc2f95f6b46274d
parentdfca67d844ca10498e1e4e4834117bc390696d46 (diff)
downloadredmine-5b4a9ac3b3aaa80bbdfb527f1b1401d93e788471.tar.gz
redmine-5b4a9ac3b3aaa80bbdfb527f1b1401d93e788471.zip
Restricts characters before auto links (#10277).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11474 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--lib/redmine/wiki_formatting.rb2
-rw-r--r--test/unit/helpers/application_helper_test.rb8
2 files changed, 7 insertions, 3 deletions
diff --git a/lib/redmine/wiki_formatting.rb b/lib/redmine/wiki_formatting.rb
index 2a3023a09..9a62bf6b8 100644
--- a/lib/redmine/wiki_formatting.rb
+++ b/lib/redmine/wiki_formatting.rb
@@ -86,7 +86,7 @@ module Redmine
AUTO_LINK_RE = %r{
( # leading text
<\w+.*?>| # leading HTML tag, or
- [^=<>!:'"/]| # leading punctuation, or
+ [\s\(\[,;]| # leading punctuation, or
^ # beginning of line
)
(
diff --git a/test/unit/helpers/application_helper_test.rb b/test/unit/helpers/application_helper_test.rb
index 91323d3a5..d0eb30b93 100644
--- a/test/unit/helpers/application_helper_test.rb
+++ b/test/unit/helpers/application_helper_test.rb
@@ -88,6 +88,7 @@ class ApplicationHelperTest < ActionView::TestCase
# invalid urls
'http://' => 'http://',
'www.' => 'www.',
+ 'test-www.bar.com' => 'test-www.bar.com',
}
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
end
@@ -104,8 +105,11 @@ class ApplicationHelperTest < ActionView::TestCase
end
def test_auto_mailto
- assert_equal '<p><a class="email" href="mailto:test@foo.bar">test@foo.bar</a></p>',
- textilizable('test@foo.bar')
+ to_test = {
+ 'test@foo.bar' => '<a class="email" href="mailto:test@foo.bar">test@foo.bar</a>',
+ 'test@www.foo.bar' => '<a class="email" href="mailto:test@www.foo.bar">test@www.foo.bar</a>',
+ }
+ to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
end
def test_inline_images