diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2013-02-24 12:56:50 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2013-02-24 12:56:50 +0000 |
commit | 5b4a9ac3b3aaa80bbdfb527f1b1401d93e788471 (patch) | |
tree | 7f6b6f9a70205992311f1b40dfc2f95f6b46274d | |
parent | dfca67d844ca10498e1e4e4834117bc390696d46 (diff) | |
download | redmine-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.rb | 2 | ||||
-rw-r--r-- | test/unit/helpers/application_helper_test.rb | 8 |
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 |