diff options
-rw-r--r-- | lib/redmine/acts/mentionable.rb | 8 | ||||
-rw-r--r-- | test/unit/lib/redmine/acts/mentionable_test.rb | 7 |
2 files changed, 8 insertions, 7 deletions
diff --git a/lib/redmine/acts/mentionable.rb b/lib/redmine/acts/mentionable.rb index c7b0c0655..24adf04b3 100644 --- a/lib/redmine/acts/mentionable.rb +++ b/lib/redmine/acts/mentionable.rb @@ -98,12 +98,10 @@ module Redmine @([A-Za-z0-9_\-@\.]*?) (?= (?=[[:punct:]][^A-Za-z0-9_\/])| - ,| - \.+$| \s| - \]| - <| - $) + [[:punct:]]? + $ + ) /ix end end diff --git a/test/unit/lib/redmine/acts/mentionable_test.rb b/test/unit/lib/redmine/acts/mentionable_test.rb index 1f67d37d7..df36e6bbd 100644 --- a/test/unit/lib/redmine/acts/mentionable_test.rb +++ b/test/unit/lib/redmine/acts/mentionable_test.rb @@ -29,9 +29,12 @@ class Redmine::Acts::MentionableTest < ActiveSupport::TestCase :issues def test_mentioned_users_with_user_mention - issue = Issue.generate!(project_id: 1, description: '@dlopper') + to_test = %w(@dlopper @dlopper! @dlopper? @dlopper. @dlopper,) - assert_equal [User.find(3)], issue.mentioned_users + to_test.each do |item| + issue = Issue.generate!(project_id: 1, description: item) + assert_equal [User.find(3)], issue.mentioned_users + end end def test_mentioned_users_with_user_mention_having_mail_as_login |